Commit a8267cb7 by 墨竹
parents 02d9a2eb 86b70229
...@@ -9,18 +9,22 @@ public class CommonMQDTO implements Serializable { ...@@ -9,18 +9,22 @@ public class CommonMQDTO implements Serializable {
*/ */
private static final long serialVersionUID = -5681421708810402425L; private static final long serialVersionUID = -5681421708810402425L;
private int type ; private int type;
private String params ; private Object params;
public int getType() { public int getType() {
return type; return type;
} }
public String getParams() {
return params;
}
public void setType(int type) { public void setType(int type) {
this.type = type; this.type = type;
} }
public void setParams(String params) {
public Object getParams() {
return params;
}
public void setParams(Object params) {
this.params = params; this.params = params;
} }
} }
...@@ -3,14 +3,12 @@ package com.gic.haoban.manage.api.dto; ...@@ -3,14 +3,12 @@ package com.gic.haoban.manage.api.dto;
import java.io.Serializable; import java.io.Serializable;
/** /**
* * @author xugh
* @ClassName: QwFrientNoticeDTO * @ClassName: QwFrientNoticeDTO
* @Description: 企微加好友通知 * @Description: 企微加好友通知
* @author xugh * @date 2022年8月18日 上午10:31:14
* @date 2022年8月18日 上午10:31:14
*
*/ */
public class QwFrientNoticeDTO implements Serializable{ public class QwFrientNoticeDTO implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -48,7 +46,8 @@ public class QwFrientNoticeDTO implements Serializable{ ...@@ -48,7 +46,8 @@ public class QwFrientNoticeDTO implements Serializable{
*/ */
private String state; private String state;
private String staffId ; private String staffId;
private String changeType;
public String getStaffId() { public String getStaffId() {
return staffId; return staffId;
...@@ -185,4 +184,12 @@ public class QwFrientNoticeDTO implements Serializable{ ...@@ -185,4 +184,12 @@ public class QwFrientNoticeDTO implements Serializable{
public void setState(String state) { public void setState(String state) {
this.state = state; this.state = state;
} }
public String getChangeType() {
return changeType;
}
public void setChangeType(String changeType) {
this.changeType = changeType;
}
} }
...@@ -12,12 +12,22 @@ public class WxUserAddLogQDTO implements Serializable{ ...@@ -12,12 +12,22 @@ public class WxUserAddLogQDTO implements Serializable{
private String unionid; private String unionid;
private Long linkId; private Long linkId;
private Long hmId; private Long hmId;
// 是否好友删除导购
private boolean delClerkFlag;
private boolean delFlag; private boolean delFlag;
private String externalUserid; private String externalUserid;
private String staffId; private String staffId;
private String staffName; private String staffName;
private String clerkId; private String clerkId;
public boolean isDelClerkFlag() {
return delClerkFlag;
}
public void setDelClerkFlag(boolean delClerkFlag) {
this.delClerkFlag = delClerkFlag;
}
public String getWxEnterpriseId() { public String getWxEnterpriseId() {
return wxEnterpriseId; return wxEnterpriseId;
} }
......
...@@ -12,6 +12,8 @@ import com.gic.haoban.manage.api.dto.CommonMQDTO; ...@@ -12,6 +12,8 @@ import com.gic.haoban.manage.api.dto.CommonMQDTO;
*/ */
public interface HaobanCommonMQApiService { public interface HaobanCommonMQApiService {
public void commonHandler(CommonMQDTO dto) ; public void putCommonMessage(CommonMQDTO dto);
public void commonHandler(String message);
} }
...@@ -23,4 +23,15 @@ public interface HaobanTimerApiService { ...@@ -23,4 +23,15 @@ public interface HaobanTimerApiService {
*/ */
public ServiceResponse<Void> deleteTempWxHm(String params) ; public ServiceResponse<Void> deleteTempWxHm(String params) ;
/**
*
* @Title: repairExternalUserId
* @Description: 检查修复外部联系人ID
* @author xugh
* @param wxEnterpriseId
* @return
* @throws
*/
public ServiceResponse<Void> repairExternalUserId(String wxEnterpriseId) ;
} }
package com.gic.haoban.manage.api.service; package com.gic.haoban.manage.api.service;
import java.util.List;
import com.gic.api.base.commons.JSONResponse; import com.gic.api.base.commons.JSONResponse;
import com.gic.haoban.base.api.common.ServiceResponse; import com.gic.haoban.base.api.common.ServiceResponse;
import com.gic.haoban.manage.api.dto.ExternalClerkRelatedDTO; import com.gic.haoban.manage.api.dto.*;
import com.gic.haoban.manage.api.dto.ExternalUserDTO;
import com.gic.haoban.manage.api.dto.FriendStoreInfoDTO; import java.util.List;
import com.gic.haoban.manage.api.dto.MemberStoreDTO;
import com.gic.haoban.manage.api.dto.MemberUnionidRelatedDTO;
import com.gic.haoban.manage.api.dto.QwFrientNoticeDTO;
public interface MemberUnionidRelatedApiService { public interface MemberUnionidRelatedApiService {
...@@ -257,4 +252,14 @@ public interface MemberUnionidRelatedApiService { ...@@ -257,4 +252,14 @@ public interface MemberUnionidRelatedApiService {
void updateSelfExternalUseridById(String selfExternalUserid, String memberUnionidRelatedId); void updateSelfExternalUseridById(String selfExternalUserid, String memberUnionidRelatedId);
/**
* 事件订阅test
*
* @param param 参数
* @author mozhu
* @date 2022-09-09 14:18:34
*/
void addDelFriendEventTest(String param);
} }
...@@ -41,20 +41,31 @@ public interface StaffClerkRelationApiService { ...@@ -41,20 +41,31 @@ public interface StaffClerkRelationApiService {
/** /**
* 审核绑定 * 审核绑定
*
* @param staffClerkRelation * @param staffClerkRelation
* @param optStaffId * @param optStaffId
* @param channelCode * @param channelCode
*/ */
void delAndInsert(StaffClerkRelationDTO staffClerkRelation, String optStaffId, int channelCode); void delAndInsert(StaffClerkRelationDTO staffClerkRelation, String optStaffId, int channelCode);
/** /**
* 解绑 * 解绑导购
* * @param staffId
* @param storeId * @param clerkId
* @param clerkCode * @param channelCode
* @return * @return
*/ */
void delByStoreIdAndCode(String storeId, String clerkCode); boolean unbindByStaffAndClerkId(String staffId, String clerkId, int channelCode);
/**
* 解绑门店
* @param wxEnterpriseId
* @param storeId
* @param staffId
* @param channelCode
*/
void delBindByStoreId(String wxEnterpriseId,String storeId, String staffId,int channelCode);
StaffClerkRelationDTO getOneByClerkId(String clerkId); StaffClerkRelationDTO getOneByClerkId(String clerkId);
...@@ -70,15 +81,6 @@ public interface StaffClerkRelationApiService { ...@@ -70,15 +81,6 @@ public interface StaffClerkRelationApiService {
List<StaffClerkRelationDTO> listByStoreId(String storeId); List<StaffClerkRelationDTO> listByStoreId(String storeId);
/** /**
* 解绑
*
* @param staffId 操作人
* @param clerkId
* @return
*/
boolean unbindByStaffAndClerkId(String staffId, String clerkId);
/**
* 查询导购信息 * 查询导购信息
* *
* @param clerkId * @param clerkId
...@@ -104,13 +106,6 @@ public interface StaffClerkRelationApiService { ...@@ -104,13 +106,6 @@ public interface StaffClerkRelationApiService {
List<StaffClerkRelationDTO> listByEnterpriseIdAndStaffid(String enterpriseId, String staffid); List<StaffClerkRelationDTO> listByEnterpriseIdAndStaffid(String enterpriseId, String staffid);
/** /**
* 删除关联关系
*
* @param clerkId
*/
void delByClerkId(String clerkId);
/**
* 搜索查询列表 * 搜索查询列表
* *
* @param wxEnterpriseId * @param wxEnterpriseId
...@@ -171,7 +166,7 @@ public interface StaffClerkRelationApiService { ...@@ -171,7 +166,7 @@ public interface StaffClerkRelationApiService {
* @author mozhu * @author mozhu
* @date 2022-06-20 22:46:46 * @date 2022-06-20 22:46:46
*/ */
List<StaffClerkRelationDTO> listByStaffId(String wxEnterpriseId,String staffId); List<StaffClerkRelationDTO> listByStaffId(String wxEnterpriseId, String staffId);
/** /**
* 通过职员id 查询职员id列表 * 通过职员id 查询职员id列表
...@@ -182,7 +177,7 @@ public interface StaffClerkRelationApiService { ...@@ -182,7 +177,7 @@ public interface StaffClerkRelationApiService {
* @author mozhu * @author mozhu
* @date 2022-07-07 17:28:01 * @date 2022-07-07 17:28:01
*/ */
List<StaffClerkRelationDTO> listClerkIdConcatFlagByClerkIds(List<String> clerkIds,String wxEnterpriseId); List<StaffClerkRelationDTO> listClerkIdConcatFlagByClerkIds(List<String> clerkIds, String wxEnterpriseId);
/** /**
...@@ -196,16 +191,15 @@ public interface StaffClerkRelationApiService { ...@@ -196,16 +191,15 @@ public interface StaffClerkRelationApiService {
void clerkStoreMoveDel(String param); void clerkStoreMoveDel(String param);
/** /**
*
* @Title: getCanAddHmCount
* @Description: 获取能创建活码的导购数量
* @author xugh
* @param enterpriseId * @param enterpriseId
* @param wxEnterpriseId * @param wxEnterpriseId
* @return * @return
* @throws * @throws
* @Title: getCanAddHmCount
* @Description: 获取能创建活码的导购数量
* @author xugh
*/ */
int getCanAddHmCount(String enterpriseId , String wxEnterpriseId , String clerkId) ; int getCanAddHmCount(String enterpriseId, String wxEnterpriseId, String clerkId);
List<String> listStaffIdByWxEnterpriseId(String wxEnterpriseId); List<String> listStaffIdByWxEnterpriseId(String wxEnterpriseId);
......
...@@ -81,15 +81,4 @@ public interface StaffDepartmentRelatedApiService { ...@@ -81,15 +81,4 @@ public interface StaffDepartmentRelatedApiService {
*/ */
void sendBindAuditMessage(String auditId, String staffId, String clerkId, String reason, boolean isRefuse); void sendBindAuditMessage(String auditId, String staffId, String clerkId, String reason, boolean isRefuse);
/**
* 新增导购
*
* @param auditId
* @param staffId
* @param clerkId
* @param reason
* @param isRefuse
*/
void sendClerkAddAuditMessage(String auditId, String staffId, String clerkId, String reason, boolean isRefuse);
} }
...@@ -233,4 +233,8 @@ public interface WxEnterpriseApiService { ...@@ -233,4 +233,8 @@ public interface WxEnterpriseApiService {
*/ */
void stopHaoban(String enterpriseId) ; void stopHaoban(String enterpriseId) ;
public boolean haobanIsStop(String eid) ;
public String getEndDate(String enterpriseId) ;
} }
...@@ -166,4 +166,6 @@ public interface WxEnterpriseRelatedApiService { ...@@ -166,4 +166,6 @@ public interface WxEnterpriseRelatedApiService {
*/ */
com.gic.api.base.commons.ServiceResponse<EnterpriseDetailDTO> queryEnterpriseDetail(String wxEnterpriseId, String enterpriseId); com.gic.api.base.commons.ServiceResponse<EnterpriseDetailDTO> queryEnterpriseDetail(String wxEnterpriseId, String enterpriseId);
public int getRelationCount(String enterpriseId) ;
} }
...@@ -23,6 +23,8 @@ public interface PendingTaskApiService { ...@@ -23,6 +23,8 @@ public interface PendingTaskApiService {
*/ */
public ServiceResponse<Boolean> addPendingTask(PendingTaskQDTO qdto); public ServiceResponse<Boolean> addPendingTask(PendingTaskQDTO qdto);
public ServiceResponse<Boolean> insertPendingTaskBatch(List<PendingTaskQDTO> qdto);
/** /**
* 待办批量 活动任务 * 待办批量 活动任务
......
...@@ -26,6 +26,8 @@ public class Config { ...@@ -26,6 +26,8 @@ public class Config {
private String hmLinkUrl; private String hmLinkUrl;
@Value("${qywx_hbzs_suite}") @Value("${qywx_hbzs_suite}")
private String qywxHbzsSuite; private String qywxHbzsSuite;
@Value("${addDelFriendEvent}")
private String addDelFriendEvent;
public String getHmLinkUrl() { public String getHmLinkUrl() {
return hmLinkUrl; return hmLinkUrl;
...@@ -90,4 +92,12 @@ public class Config { ...@@ -90,4 +92,12 @@ public class Config {
public void setQywxHbzsSuite(String qywxHbzsSuite) { public void setQywxHbzsSuite(String qywxHbzsSuite) {
this.qywxHbzsSuite = qywxHbzsSuite; this.qywxHbzsSuite = qywxHbzsSuite;
} }
public String getAddDelFriendEvent() {
return addDelFriendEvent;
}
public void setAddDelFriendEvent(String addDelFriendEvent) {
this.addDelFriendEvent = addDelFriendEvent;
}
} }
...@@ -62,4 +62,6 @@ public interface MemberUnionidRelatedMapper { ...@@ -62,4 +62,6 @@ public interface MemberUnionidRelatedMapper {
*/ */
List<MemberUnionidRelated> listByWxEnterpriseId(@Param("wxEnterpriseId") String wxEnterpriseId); List<MemberUnionidRelated> listByWxEnterpriseId(@Param("wxEnterpriseId") String wxEnterpriseId);
List<MemberUnionidRelated> listByWxEnterpriseIdAndExternalUserId(@Param("wxEnterpriseId") String wxEnterpriseId , @Param("list")List<String> externalUserIdList);
} }
\ No newline at end of file
...@@ -10,9 +10,6 @@ import java.util.Set; ...@@ -10,9 +10,6 @@ import java.util.Set;
@Mapper @Mapper
public interface PendingTaskMapper { public interface PendingTaskMapper {
/**
*/
int deleteByPrimaryKey(Integer id);
/** /**
*/ */
...@@ -24,17 +21,9 @@ public interface PendingTaskMapper { ...@@ -24,17 +21,9 @@ public interface PendingTaskMapper {
/** /**
*/ */
TabPendingTask selectByPrimaryKey(Integer id);
/**
*/
int updateByPrimaryKeySelective(TabPendingTask record); int updateByPrimaryKeySelective(TabPendingTask record);
/** /**
*/
int updateByPrimaryKey(TabPendingTask record);
/**
* 根据关联id 查询单条 * 根据关联id 查询单条
*/ */
TabPendingTask getByRelationId(String relationId); TabPendingTask getByRelationId(String relationId);
......
...@@ -8,18 +8,11 @@ import org.apache.ibatis.annotations.Param; ...@@ -8,18 +8,11 @@ import org.apache.ibatis.annotations.Param;
import com.gic.haoban.manage.service.entity.TabHaobanClerkMainStoreRelated; import com.gic.haoban.manage.service.entity.TabHaobanClerkMainStoreRelated;
public interface TabHaobanClerkMainStoreRelatedMapper { public interface TabHaobanClerkMainStoreRelatedMapper {
int deleteByPrimaryKey(String clerkMainStoreRelatedId);
int insert(TabHaobanClerkMainStoreRelated record); int insert(TabHaobanClerkMainStoreRelated record);
int insertSelective(TabHaobanClerkMainStoreRelated record);
TabHaobanClerkMainStoreRelated selectByPrimaryKey(String clerkMainStoreRelatedId);
int updateByPrimaryKeySelective(TabHaobanClerkMainStoreRelated record); int updateByPrimaryKeySelective(TabHaobanClerkMainStoreRelated record);
int updateByPrimaryKey(TabHaobanClerkMainStoreRelated record);
TabHaobanClerkMainStoreRelated selectByWxEnterpriseIdAndStoreId(@Param("staffId")String staffId, @Param("wxEnterpriseId")String wxEnterpriseId , @Param("storeIdList") List<String> storeIdList); TabHaobanClerkMainStoreRelated selectByWxEnterpriseIdAndStoreId(@Param("staffId")String staffId, @Param("wxEnterpriseId")String wxEnterpriseId , @Param("storeIdList") List<String> storeIdList);
List<TabHaobanClerkMainStoreRelated> listByWxEnterpriseId(@Param("wxEnterpriseId")String wxEnterpriseId); List<TabHaobanClerkMainStoreRelated> listByWxEnterpriseId(@Param("wxEnterpriseId")String wxEnterpriseId);
......
package com.gic.haoban.manage.service.dao.mapper; package com.gic.haoban.manage.service.dao.mapper;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.gic.haoban.manage.api.dto.ExternalClerkRelatedDTO; import com.gic.haoban.manage.api.dto.ExternalClerkRelatedDTO;
import com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated; import com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.Param;
import java.util.Collection;
import java.util.Date;
import java.util.List;
public interface TabHaobanExternalClerkRelatedMapper { public interface TabHaobanExternalClerkRelatedMapper {
...@@ -158,6 +157,7 @@ public interface TabHaobanExternalClerkRelatedMapper { ...@@ -158,6 +157,7 @@ public interface TabHaobanExternalClerkRelatedMapper {
List<ExternalClerkRelatedDTO> listByMemberIdList(@Param("memberIdList") List<String> memberIdList, List<ExternalClerkRelatedDTO> listByMemberIdList(@Param("memberIdList") List<String> memberIdList,
@Param("wxEnterpriseId") String wxEnterpriseId, @Param("wxEnterpriseId") String wxEnterpriseId,
@Param("enterpriseId") String enterpriseId); @Param("enterpriseId") String enterpriseId);
/** /**
* 获取最新的最近的外部联系人 * 获取最新的最近的外部联系人
* *
...@@ -270,7 +270,7 @@ public interface TabHaobanExternalClerkRelatedMapper { ...@@ -270,7 +270,7 @@ public interface TabHaobanExternalClerkRelatedMapper {
* 根据企业id分页 * 根据企业id分页
* *
* @param wxEnterpriseId 企业标识 * @param wxEnterpriseId 企业标识
* @return {@link List<TabHaobanWxEnterprise> } * @return {@link List<TabHaobanExternalClerkRelated> }
* @author mozhu * @author mozhu
* @date 2021-12-13 14:59:03 * @date 2021-12-13 14:59:03
*/ */
...@@ -318,7 +318,8 @@ public interface TabHaobanExternalClerkRelatedMapper { ...@@ -318,7 +318,8 @@ public interface TabHaobanExternalClerkRelatedMapper {
* @param staffId wx用户id * @param staffId wx用户id
* @return {@link List}<{@link TabHaobanExternalClerkRelated}> * @return {@link List}<{@link TabHaobanExternalClerkRelated}>
*/ */
List<TabHaobanExternalClerkRelated> getByWxUserIdAndWxEnterpriseId(@Param("wxEnterpriseId") String wxEnterpriseId, @Param("staffId") String staffId); List<TabHaobanExternalClerkRelated> getByWxUserIdAndWxEnterpriseId(@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("staffId") String staffId);
/** /**
...@@ -355,4 +356,17 @@ public interface TabHaobanExternalClerkRelatedMapper { ...@@ -355,4 +356,17 @@ public interface TabHaobanExternalClerkRelatedMapper {
int countByMemberId(@Param("memberId") String memberId, int countByMemberId(@Param("memberId") String memberId,
@Param("enterpriseId") String enterpriseId); @Param("enterpriseId") String enterpriseId);
List<TabHaobanExternalClerkRelated> listPageByWxenterpriseId(@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("startItem") int startItem, @Param("pageSize") int pageSize);
/**
* 获取所有的好友会员id
*
* @param storeId 存储id
* @param staffId 员工id
* @return {@link List}<{@link String}>
*/
List<String> getByStoreIdAndStaffId(@Param("storeId") String storeId,
@Param("staffId") String staffId);
} }
\ No newline at end of file
package com.gic.haoban.manage.service.dao.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.gic.haoban.manage.service.entity.TabHaobanRepairExternalUser;
/**
*
* @ClassName: TabHaobanRepairExternalUserMapper
* @Description: TODO
* @Author 徐高华
* @Date 2022年09月13日 14:47:15
* @Modify
* @CopyRight
*/
public interface TabHaobanRepairExternalUserMapper {
/**
* 新增
* @Title: insert
* @Description: TODO
* @Param @param TabHaobanRepairExternalUser
*/
public int batchInsert(@Param("list") List<TabHaobanRepairExternalUser> list) ;
/**
* 更新
* @Title: update
* @Description: TODO
* @Param @param TabHaobanRepairExternalUser
* @Throws
*/
public int update() ;
/**
* 通过条件查询
* @Title: listAll
* @Description: TODO
* @Param @param TabHaobanRepairExternalUser
* @Param @return
* @Return List
* @Throws
*/
public List<TabHaobanRepairExternalUser> listAll() ;
}
\ No newline at end of file
...@@ -146,7 +146,7 @@ public interface TabHaobanStaffClerkRelationMapper { ...@@ -146,7 +146,7 @@ public interface TabHaobanStaffClerkRelationMapper {
List<MemberStaffRelExtDO> listMemberStaffRelNew( List<MemberStaffRelExtDO> listMemberStaffRelNew(
@Param("memberIdList") List<String> memberIdList, @Param("memberIdList") List<String> memberIdList,
@Param("clerkIdList") List<String> clerkIdList, @Param("clerkIdList") List<String> clerkIdList,
@Param("enterpriseId") String enterpriseId); @Param("enterpriseId") String enterpriseId,@Param("wxEnterpriseId") String wxEnterpriseId);
/** /**
* 根据导购查询wxuserid * 根据导购查询wxuserid
...@@ -252,4 +252,7 @@ public interface TabHaobanStaffClerkRelationMapper { ...@@ -252,4 +252,7 @@ public interface TabHaobanStaffClerkRelationMapper {
*/ */
List<StaffClerkRelationDTO> listClerkIdConcatFlagByClerkIds(@Param("clerkIds") List<String> clerkIds, List<StaffClerkRelationDTO> listClerkIdConcatFlagByClerkIds(@Param("clerkIds") List<String> clerkIds,
@Param("wxEnterpriseId") String wxEnterpriseId); @Param("wxEnterpriseId") String wxEnterpriseId);
void deleteByEnterpriseId(@Param("enterpriseId") String enterpriseId) ;
} }
\ No newline at end of file
package com.gic.haoban.manage.service.entity;
import java.io.Serializable;
/**
*
* @ClassName: TabHaobanRepairExternalUser
* @Description: TODO
* @Author 徐高华
* @Date 2022年09月13日 14:47:15
* @Modify
* @CopyRight
*/
public class TabHaobanRepairExternalUser implements Serializable {
private static final long serialVersionUID = 533965353379300L;
private Long id;
private String wxEnterpriseId;
/**当前外部联系人ID*/
private String userId;
/**需要替换联系人ID*/
private String newUserId;
/**11(union表不存在)*/
private Integer statusFlag;
/**需要替换的,需要删除的*/
private String remark;
private String selfUserId ;
public String getSelfUserId() {
return selfUserId;
}
public void setSelfUserId(String selfUserId) {
this.selfUserId = selfUserId;
}
public void setId(Long id) {
this.id = id;
}
public Long getId() {
return id;
}
public void setWxEnterpriseId(String wxEnterpriseId) {
this.wxEnterpriseId = wxEnterpriseId;
}
public String getWxEnterpriseId() {
return wxEnterpriseId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getUserId() {
return userId;
}
public void setNewUserId(String newUserId) {
this.newUserId = newUserId;
}
public String getNewUserId() {
return newUserId;
}
public void setStatusFlag(Integer statusFlag) {
this.statusFlag = statusFlag;
}
public Integer getStatusFlag() {
return statusFlag;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getRemark() {
return remark;
}
}
\ No newline at end of file
...@@ -26,8 +26,6 @@ public interface ExternalClerkRelatedService { ...@@ -26,8 +26,6 @@ public interface ExternalClerkRelatedService {
*/ */
void delByUserIdAndExternalUserIdBatch(String wxEnterpriseId, String staffId, List<String> externalUserids); void delByUserIdAndExternalUserIdBatch(String wxEnterpriseId, String staffId, List<String> externalUserids);
void delByClerkIdAndStaffId(String clerkId, String staffId);
void delByStoreIdAndStaffId(String storeId, String staffId); void delByStoreIdAndStaffId(String storeId, String staffId);
void delByStoreIds(Collection<String> storeIds); void delByStoreIds(Collection<String> storeIds);
...@@ -38,7 +36,7 @@ public interface ExternalClerkRelatedService { ...@@ -38,7 +36,7 @@ public interface ExternalClerkRelatedService {
TabHaobanExternalClerkRelated getByParams(String staffId, String wxEnterpriseId, String name, String createTime); TabHaobanExternalClerkRelated getByParams(String staffId, String wxEnterpriseId, String name, String createTime);
List<TabHaobanExternalClerkRelated> listByExTernalUseridAndWxUserId(String externalUserid, String staffId); List<TabHaobanExternalClerkRelated> listByExternalUseridAndWxUserId(String externalUserid, String staffId);
List<TabHaobanExternalClerkRelated> listByExTernalUseridAndWxUserIdAllStatus(String wxEnterpriseId, String externalUserid, String wxUserId); List<TabHaobanExternalClerkRelated> listByExTernalUseridAndWxUserIdAllStatus(String wxEnterpriseId, String externalUserid, String wxUserId);
...@@ -71,4 +69,15 @@ public interface ExternalClerkRelatedService { ...@@ -71,4 +69,15 @@ public interface ExternalClerkRelatedService {
*/ */
String checkAndUpdateMemberByUnonId(String enterpriseId, String memberId, String unionId); String checkAndUpdateMemberByUnonId(String enterpriseId, String memberId, String unionId);
void repairExternalUserId(String wxEnterpriseId);
/**
* 获取所有的好友会员id
*
* @param storeId 存储id
* @param staffId 员工id
* @return {@link List}<{@link String}>
*/
List<String> getByStoreIdAndStaffId(String storeId,String staffId);
} }
...@@ -15,7 +15,7 @@ public interface StaffClerkRelationService { ...@@ -15,7 +15,7 @@ public interface StaffClerkRelationService {
List<StaffClerkRelationDTO> listBindCodeByStaffId(List<String> enterpriseIdList, String staffId); List<StaffClerkRelationDTO> listBindCodeByStaffId(List<String> enterpriseIdList, String staffId);
/** /**
* 删除绑定 * 解绑-删除绑定(导购级别)
* *
* @param clerkId * @param clerkId
* @return * @return
...@@ -23,7 +23,7 @@ public interface StaffClerkRelationService { ...@@ -23,7 +23,7 @@ public interface StaffClerkRelationService {
boolean delBind(String clerkId, String optStaffId, int channelCode); boolean delBind(String clerkId, String optStaffId, int channelCode);
/** /**
* 删除绑定 * 解绑-删除绑定(门店级别)
* *
* @param wxEnterpriseId 可以不传 * @param wxEnterpriseId 可以不传
* @param storeIds * @param storeIds
......
...@@ -35,4 +35,6 @@ public interface WxEnterpriseRelatedService { ...@@ -35,4 +35,6 @@ public interface WxEnterpriseRelatedService {
* @return * @return
*/ */
void setClerkEdit(String id, int clerkEditFlag); void setClerkEdit(String id, int clerkEditFlag);
int getRelationCount(String enterpriseId) ;
} }
...@@ -6,8 +6,6 @@ import com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise; ...@@ -6,8 +6,6 @@ import com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise;
import java.util.List; import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface WxEnterpriseService { public interface WxEnterpriseService {
String add(WxEnterpriseDTO wxDTO); String add(WxEnterpriseDTO wxDTO);
......
...@@ -73,10 +73,15 @@ public class WxUserAddLogServiceImpl implements WxUserAddLogService { ...@@ -73,10 +73,15 @@ public class WxUserAddLogServiceImpl implements WxUserAddLogService {
} }
entity = logUser; entity = logUser;
entity.setLogId(UniqueIdUtils.uniqueLong()); entity.setLogId(UniqueIdUtils.uniqueLong());
if(qdto.isDelClerkFlag()) {
entity.setStatusFlag(3);
entity.setAddChannel(0);
}else {
entity.setStatusFlag(2); entity.setStatusFlag(2);
// 是否所有好友删除 1是0否 // 是否所有好友删除 1是0否
entity.setAllDelFlag(this.isAllDel(externalUserid)); entity.setAllDelFlag(this.isAllDel(externalUserid));
} }
}
// 新增好友 // 新增好友
if (!qdto.isDelFlag()) { if (!qdto.isDelFlag()) {
String memberLabelId = null; String memberLabelId = null;
......
...@@ -66,6 +66,10 @@ public class ClerkMainStoreRelatedServiceImpl implements ClerkMainStoreRelatedSe ...@@ -66,6 +66,10 @@ public class ClerkMainStoreRelatedServiceImpl implements ClerkMainStoreRelatedSe
logger.info("切换主门店-刷新企业微信好友:{},{}", staffId, storeId); logger.info("切换主门店-刷新企业微信好友:{},{}", staffId, storeId);
//主门店切换需要刷新企业微信好友 //主门店切换需要刷新企业微信好友
TabHaobanStaff staff = staffService.selectById(staffId); TabHaobanStaff staff = staffService.selectById(staffId);
if (staff == null) {
logger.info("员工不存在:{}",staffId);
return;
}
String taskName = "自动刷新企业微信好友(" + staff.getStaffName() + ")"; String taskName = "自动刷新企业微信好友(" + staff.getStaffName() + ")";
String taskId = dealSyncOperationApiService.createWxFriendTaskSingle(wxEnterpriseId, taskName, staffId, staff.getStaffName(), SyncTaskTypeEnum.FRIEND_SINGLE.getType()); String taskId = dealSyncOperationApiService.createWxFriendTaskSingle(wxEnterpriseId, taskName, staffId, staff.getStaffName(), SyncTaskTypeEnum.FRIEND_SINGLE.getType());
if (StringUtils.isBlank(taskId)) { if (StringUtils.isBlank(taskId)) {
......
...@@ -3,25 +3,43 @@ package com.gic.haoban.manage.service.service.impl; ...@@ -3,25 +3,43 @@ package com.gic.haoban.manage.service.service.impl;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.dto.SubscribeMessageDTO;
import com.gic.clerk.api.dto.ClerkDTO;
import com.gic.clerk.api.service.ClerkService;
import com.gic.commons.util.GICMQClientUtil;
import com.gic.commons.util.UniqueIdUtils;
import com.gic.dubbo.entity.ProviderLocalTag;
import com.gic.enterprise.api.dto.StoreDTO;
import com.gic.enterprise.api.service.StoreService;
import com.gic.haoban.common.utils.DingUtils;
import com.gic.haoban.common.utils.EntityUtil; import com.gic.haoban.common.utils.EntityUtil;
import com.gic.haoban.common.utils.StringUtil; import com.gic.haoban.common.utils.StringUtil;
import com.gic.haoban.manage.api.dto.ExternalClerkRelatedDTO; import com.gic.haoban.manage.api.dto.ExternalClerkRelatedDTO;
import com.gic.haoban.manage.api.dto.MemberUnionidRelatedDTO; import com.gic.haoban.manage.api.dto.MemberUnionidRelatedDTO;
import com.gic.haoban.manage.api.dto.SecretSettingDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseQwDTO;
import com.gic.haoban.manage.api.dto.qdto.hm.WxUserAddLogQDTO; import com.gic.haoban.manage.api.dto.qdto.hm.WxUserAddLogQDTO;
import com.gic.haoban.manage.service.dao.mapper.StaffMapper; import com.gic.haoban.manage.api.enums.SecretTypeEnum;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanExternalClerkRelatedMapper; import com.gic.haoban.manage.service.config.Config;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanStaffClerkRelationMapper; import com.gic.haoban.manage.service.dao.mapper.*;
import com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated; import com.gic.haoban.manage.service.entity.*;
import com.gic.haoban.manage.service.entity.TabHaobanStaff;
import com.gic.haoban.manage.service.entity.TabHaobanStaffClerkRelation;
import com.gic.haoban.manage.service.service.ExternalClerkRelatedService; import com.gic.haoban.manage.service.service.ExternalClerkRelatedService;
import com.gic.haoban.manage.service.service.SecretSettingService;
import com.gic.haoban.manage.service.service.WxEnterpriseService;
import com.gic.haoban.manage.service.service.hm.WxUserAddLogService; import com.gic.haoban.manage.service.service.hm.WxUserAddLogService;
import com.gic.member.api.dto.MemberDTO; import com.gic.member.api.dto.MemberDTO;
import com.gic.member.api.dto.MemberSourceDetailDTO;
import com.gic.member.api.dto.MemberSourceShowDTO;
import com.gic.member.api.service.MemberApiService; import com.gic.member.api.service.MemberApiService;
import com.gic.member.api.service.MemberEntranceApiService;
import com.gic.member.api.service.MemberService; import com.gic.member.api.service.MemberService;
import com.gic.mq.sdk.GicMQClient;
import com.gic.redis.data.util.RedisUtil;
import com.gic.search.engine.api.dto.ESResponseQuerySingle; import com.gic.search.engine.api.dto.ESResponseQuerySingle;
import com.gic.search.engine.api.dto.dynamic.DynamicSearchDTO; import com.gic.search.engine.api.dto.dynamic.DynamicSearchDTO;
import com.gic.search.engine.api.service.dynamic.ESDataDynamicOperationApiService; import com.gic.search.engine.api.service.dynamic.ESDataDynamicOperationApiService;
import com.gic.wechat.api.dto.qywx.QywxNewExternalUseridDTO;
import com.gic.wechat.api.service.qywx.QywxUserApiService;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
...@@ -29,6 +47,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -29,6 +47,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
import static org.slf4j.LoggerFactory.getLogger; import static org.slf4j.LoggerFactory.getLogger;
...@@ -39,7 +58,6 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ ...@@ -39,7 +58,6 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ
@Autowired @Autowired
private TabHaobanExternalClerkRelatedMapper mapper; private TabHaobanExternalClerkRelatedMapper mapper;
@Autowired @Autowired
private ESDataDynamicOperationApiService esDataDynamicOperationApiService; private ESDataDynamicOperationApiService esDataDynamicOperationApiService;
@Autowired @Autowired
...@@ -52,6 +70,24 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ ...@@ -52,6 +70,24 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ
private TabHaobanStaffClerkRelationMapper staffClerkRelationMapper; private TabHaobanStaffClerkRelationMapper staffClerkRelationMapper;
@Autowired @Autowired
private WxUserAddLogService wxUserAddLogService; private WxUserAddLogService wxUserAddLogService;
@Autowired
private StoreService storeService;
@Autowired
private ClerkService clerkService;
@Autowired
private MemberEntranceApiService memberEntranceApiService;
@Autowired
private Config config;
@Autowired
private WxEnterpriseService wxEnterpriseService;
@Autowired
private MemberUnionidRelatedMapper memberUnionidRelatedMapper;
@Autowired
private QywxUserApiService qywxUserApiService;
@Autowired
private TabHaobanRepairExternalUserMapper tabHaobanRepairExternalUserMapper;
@Autowired
private SecretSettingService secretSettingService;
@Override @Override
public void insert(TabHaobanExternalClerkRelated related) { public void insert(TabHaobanExternalClerkRelated related) {
...@@ -69,13 +105,13 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ ...@@ -69,13 +105,13 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ
} }
@Override @Override
public void delByUserIdAndExternalUserId(MemberUnionidRelatedDTO dto , String wxUserId) { public void delByUserIdAndExternalUserId(MemberUnionidRelatedDTO dto, String wxUserId) {
int count = mapper.delByUserIdAndExternalUserId(EntityUtil.changeEntityByJSON(TabHaobanExternalClerkRelated.class, dto)); int count = mapper.delByUserIdAndExternalUserId(EntityUtil.changeEntityByJSON(TabHaobanExternalClerkRelated.class, dto));
if (count <= 0) { if (count <= 0) {
logger.error("无需删除的好友数据:{}", JSON.toJSONString(dto)); logger.error("无需删除的好友数据:{}", JSON.toJSONString(dto));
return; return;
} }
String staffId = dto.getStaffId() ; String staffId = dto.getStaffId();
String externalUserid = dto.getExternalUserid(); String externalUserid = dto.getExternalUserid();
List<TabHaobanExternalClerkRelated> tabHaobanExternalClerkRelatedList = mapper.listByExTernalUseridAndWxUserId(externalUserid, staffId, 2); List<TabHaobanExternalClerkRelated> tabHaobanExternalClerkRelatedList = mapper.listByExTernalUseridAndWxUserId(externalUserid, staffId, 2);
if (CollectionUtils.isEmpty(tabHaobanExternalClerkRelatedList)) { if (CollectionUtils.isEmpty(tabHaobanExternalClerkRelatedList)) {
...@@ -91,7 +127,7 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ ...@@ -91,7 +127,7 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ
} }
staffId = tabHaobanStaff.getStaffId(); staffId = tabHaobanStaff.getStaffId();
List<TabHaobanStaffClerkRelation> tabHaobanStaffClerkRelations = staffClerkRelationMapper.lisByStaffId(wxEnterpriseId, staffId,null); List<TabHaobanStaffClerkRelation> tabHaobanStaffClerkRelations = staffClerkRelationMapper.lisByStaffId(wxEnterpriseId, staffId, null);
if (CollectionUtils.isEmpty(tabHaobanStaffClerkRelations)) { if (CollectionUtils.isEmpty(tabHaobanStaffClerkRelations)) {
logger.error("找不到员工导购关联关系:staffId:{},wxEnterpriseId:{}", staffId, wxEnterpriseId); logger.error("找不到员工导购关联关系:staffId:{},wxEnterpriseId:{}", staffId, wxEnterpriseId);
return; return;
...@@ -129,16 +165,77 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ ...@@ -129,16 +165,77 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ
wxUserAddLogQDTO.setStaffId(related.getStaffId()); wxUserAddLogQDTO.setStaffId(related.getStaffId());
wxUserAddLogQDTO.setClerkId(related.getClerkId()); wxUserAddLogQDTO.setClerkId(related.getClerkId());
wxUserAddLogService.save(wxUserAddLogQDTO); wxUserAddLogService.save(wxUserAddLogQDTO);
//定制
addDelFriendEvent(related.getUnionid(), related.getClerkId(),wxEnterpriseId, enterpriseId, related.getMemberId(), related.getStoreId(), 0);
} }
@Override /**
public void delByUserIdAndExternalUserIdBatch(String wxEnterpriseId, String staffId, List<String> externalUserids) { * 欧泊莱定制需求
mapper.delByUserIdAndExternalUserIdBatch(staffId, wxEnterpriseId, externalUserids); *
* @param unionId
* @param clerkId
* @param enterpriseId
* @param memberId
* @param storeId
*/
private void addDelFriendEvent(String unionId, String clerkId,String wxEnterpriseId, String enterpriseId, String memberId, String storeId, Integer changeType) {
String addDelFriendEvent = config.getAddDelFriendEvent();
if (!addDelFriendEvent.contains(wxEnterpriseId)) {
logger.info("非定制,无需广播通知");
return;
}
//欧泊莱定制需求
ClerkDTO clerkDTO = clerkService.getClerkByClerkId(clerkId);
StoreDTO storeDTO = storeService.getStore(storeId);
MemberDTO member = memberService.getMember(memberId);
GicMQClient clientInstance = GICMQClientUtil.getClientInstance();
try {
JSONObject msgBody = new JSONObject();
msgBody.put("cardNum", member.getCardNum());
msgBody.put("enterpriseId", enterpriseId);
msgBody.put("unionid", unionId);
if (storeDTO != null) {
msgBody.put("storeName", storeDTO.getStoreName());
msgBody.put("storeCode", storeDTO.getStoreCode());
}
if (clerkDTO != null) {
msgBody.put("clerkName", clerkDTO.getClerkName());
msgBody.put("clerkCode", clerkDTO.getClerkCode());
}
msgBody.put("changeType", changeType);
if (changeType == 0) {
msgBody.put("delUserContact", 0);
msgBody.put("delCreateTime", new Date());
} else {
msgBody.put("addCreateTime", "");
}
//获取渠道
List<String> list = new ArrayList<>();
MemberSourceShowDTO memberSourceShowDTO = memberEntranceApiService.getMemberSourceByMemberId(enterpriseId, memberId);
if (memberSourceShowDTO != null && CollectionUtils.isNotEmpty(memberSourceShowDTO.getMemberSourceList())) {
for (MemberSourceDetailDTO memberSourceDetailDTO : memberSourceShowDTO.getMemberSourceList()) {
if (null != memberSourceDetailDTO.getHighlight() && memberSourceDetailDTO.getHighlight() == 1) {
list.add(memberSourceDetailDTO.getParentSourceCode());
}
}
}
SubscribeMessageDTO subscribeMessageDTO = new SubscribeMessageDTO();
subscribeMessageDTO.setEvent("addDelFriendEvent");
subscribeMessageDTO.setTopic("member");
subscribeMessageDTO.setEnterpriseId(enterpriseId);
subscribeMessageDTO.setMemberId(memberId);
subscribeMessageDTO.setMemberChannels(list);
subscribeMessageDTO.setMsgBody(msgBody.toJSONString());
clientInstance.sendMessage("dealQywxExternalUserEvent", JSONObject.toJSONString(subscribeMessageDTO));
} catch (Exception e) {
logger.info("加好友事件订阅通知:{}", e.getMessage(), e);
}
} }
@Override @Override
public void delByClerkIdAndStaffId(String clerkId, String staffId) { public void delByUserIdAndExternalUserIdBatch(String wxEnterpriseId, String staffId, List<String> externalUserids) {
mapper.delByClerkIdAndStaffId(clerkId, staffId); mapper.delByUserIdAndExternalUserIdBatch(staffId, wxEnterpriseId, externalUserids);
} }
@Override @Override
...@@ -156,7 +253,6 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ ...@@ -156,7 +253,6 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ
if (staffIds != null && !staffIds.isEmpty()) { if (staffIds != null && !staffIds.isEmpty()) {
mapper.cleanStaffRelated(wxEnterpriseId, staffIds); mapper.cleanStaffRelated(wxEnterpriseId, staffIds);
} }
} }
@Override @Override
...@@ -173,7 +269,7 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ ...@@ -173,7 +269,7 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ
} }
@Override @Override
public List<TabHaobanExternalClerkRelated> listByExTernalUseridAndWxUserId(String externalUserid, String staffId) { public List<TabHaobanExternalClerkRelated> listByExternalUseridAndWxUserId(String externalUserid, String staffId) {
return mapper.listByExTernalUseridAndWxUserId(externalUserid, staffId, 1); return mapper.listByExTernalUseridAndWxUserId(externalUserid, staffId, 1);
} }
...@@ -229,4 +325,152 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ ...@@ -229,4 +325,152 @@ public class ExternalClerkRelatedServiceImpl implements ExternalClerkRelatedServ
} }
return null; return null;
} }
@Override
public void repairExternalUserId(String wxEnterpriseIds) {
logger.info("外部联系人检查,wxEnterpriseIds={}",wxEnterpriseIds);
DingUtils.send("外部联系人修复消息,企业="+wxEnterpriseIds+",tranceid="+ProviderLocalTag.tag.get().traceId, false);
if(StringUtils.isEmpty(wxEnterpriseIds)) {
return ;
}
Object cache = RedisUtil.getCache("repairExternalUserId");
String[] arr = wxEnterpriseIds.split(",");
for (int i = 0; i < arr.length; i++) {
String wxEnterpriseId = arr[i];
if (StringUtils.isEmpty(wxEnterpriseId)) {
continue;
}
WxEnterpriseQwDTO qwDTO = this.wxEnterpriseService.getQwInfo(wxEnterpriseId);
if (null == qwDTO) {
logger.info("外部联系人检查,企业不存在,wxEnterpriseId={}", wxEnterpriseId);
continue;
}
SecretSettingDTO secret = this.secretSettingService.getSecretSetting(wxEnterpriseId, SecretTypeEnum.CUSTOMIZED_APP.getVal());
int pageSize = 800;
int pageNum = 0;
while (true) {
List<TabHaobanExternalClerkRelated> list = this.mapper.listPageByWxenterpriseId(wxEnterpriseId, pageNum * pageSize, pageSize);
if (CollectionUtils.isEmpty(list)) {
break;
}
pageNum++;
Set<String> externalUserIdSet = list.stream().map(dto -> dto.getExternalUserId()).collect(Collectors.toSet());
List<String> externalUserIdList = new ArrayList<>();
externalUserIdList.addAll(externalUserIdSet);
List<MemberUnionidRelated> unionidlist = this.memberUnionidRelatedMapper.listByWxEnterpriseIdAndExternalUserId(wxEnterpriseId, externalUserIdList);
Map<String, String> map = unionidlist.stream().collect(Collectors.toMap(MemberUnionidRelated::getExternalUserid, MemberUnionidRelated::getSelfExternalUserid, (k1, k2) -> k1));
logger.info("外部联系人检查,第{}次,好友数={},unionid表数={}", pageNum, externalUserIdList.size(), unionidlist.size());
List<String> delList = new ArrayList<>();
Set<String> checkSet = unionidlist.stream().map(dto -> dto.getExternalUserid()).collect(Collectors.toSet());
List<String> checkList = new ArrayList<>();
checkList.addAll(checkSet);
for (String item : externalUserIdList) {
if (!checkList.contains(item)) {
delList.add(item);
}
}
logger.info("外部联系人检查,unionid表不存在记录的数量={},待检查数={}", delList.size(), checkList.size());
List<String> notExistQwList = new ArrayList<>();
List<TabHaobanRepairExternalUser> errorList = new ArrayList<>();
if (CollectionUtils.isNotEmpty(checkList)) {
List<String> qwList = new ArrayList<>();
List<QywxNewExternalUseridDTO> newExternalUseridList = null;
if (null != cache) {
newExternalUseridList = this.qywxUserApiService.getNewExternalUseridByList(qwDTO.getThirdCorpid(), config.getWxSuiteid(), checkList);
} else {
newExternalUseridList = this.qywxUserApiService.getSelfNewExternalUseridByList(qwDTO.getDkCorpid(), secret.getSecretVal(), checkList);
}
if (null != newExternalUseridList) {
logger.info("外部联系人检查,查询企微数={},返回数={}", checkList.size(), newExternalUseridList.size());
for (QywxNewExternalUseridDTO qywxNewExternalUseridDTO : newExternalUseridList) {
String new_external_userid = qywxNewExternalUseridDTO.getNew_external_userid();
String external_userid = qywxNewExternalUseridDTO.getExternal_userid();
qwList.add(external_userid);
if (new_external_userid.equals(external_userid)) {
continue;
} else {
logger.info("外部联系人检查,数据异常={}", new_external_userid, external_userid);
TabHaobanRepairExternalUser user = new TabHaobanRepairExternalUser();
user.setId(UniqueIdUtils.uniqueLong());
user.setUserId(external_userid);
user.setWxEnterpriseId(wxEnterpriseId);
user.setStatusFlag(111);
user.setRemark(new_external_userid);
errorList.add(user);
}
}
if (checkList.size() != newExternalUseridList.size()) {
for (String item : checkList) {
if (!qwList.contains(item)) {
notExistQwList.add(item);
}
}
}
} else {
logger.info("外部联系人检查,调用企业异常");
}
// 通过外部联系人查询不到
if (CollectionUtils.isNotEmpty(notExistQwList)) {
// 需要用自建的查询的
List<String> selfList = new ArrayList<>();
List<TabHaobanRepairExternalUser> addList = new ArrayList<>();
for (String item : notExistQwList) {
TabHaobanRepairExternalUser user = new TabHaobanRepairExternalUser();
user.setId(UniqueIdUtils.uniqueLong());
user.setUserId(item);
if (StringUtils.isNotBlank(map.get(item)) && !map.get(item).equals(item)) {
selfList.add(map.get(item));
}
user.setSelfUserId(map.get(item));
user.setWxEnterpriseId(wxEnterpriseId);
user.setStatusFlag(11);
user.setRemark("企微查询不到");
addList.add(user);
}
if (CollectionUtils.isNotEmpty(selfList)) {
newExternalUseridList = null;
if (null != cache) {
newExternalUseridList = this.qywxUserApiService.getNewExternalUseridByList(qwDTO.getThirdCorpid(), config.getWxSuiteid(), selfList);
} else {
newExternalUseridList = this.qywxUserApiService.getSelfNewExternalUseridByList(qwDTO.getDkCorpid(), secret.getSecretVal(), selfList);
}
Map<String, String> selfMap = new HashMap<>();
if (null != newExternalUseridList) {
selfMap = newExternalUseridList.stream().collect(Collectors.toMap(QywxNewExternalUseridDTO::getExternal_userid, QywxNewExternalUseridDTO::getNew_external_userid, (k1, k2) -> k1));
}
for (TabHaobanRepairExternalUser item : addList) {
item.setNewUserId(selfMap.get(item.getSelfUserId()));
}
}
this.tabHaobanRepairExternalUserMapper.batchInsert(addList);
}
// unionid表不存在的记录
if (CollectionUtils.isNotEmpty(delList)) {
List<TabHaobanRepairExternalUser> addList = new ArrayList<>();
for (String item : delList) {
TabHaobanRepairExternalUser user = new TabHaobanRepairExternalUser();
user.setId(UniqueIdUtils.uniqueLong());
user.setUserId(item);
user.setWxEnterpriseId(wxEnterpriseId);
user.setStatusFlag(1);
user.setRemark("unionid不存在记录");
addList.add(user);
}
this.tabHaobanRepairExternalUserMapper.batchInsert(addList);
}
// 错误的ID
if (CollectionUtils.isNotEmpty(errorList)) {
this.tabHaobanRepairExternalUserMapper.batchInsert(errorList);
}
}
}
}
}
@Override
public List<String> getByStoreIdAndStaffId(String storeId, String staffId) {
return mapper.getByStoreIdAndStaffId(storeId, staffId);
}
} }
...@@ -20,6 +20,7 @@ import com.gic.haoban.manage.service.entity.MemberClerkChatConfig; ...@@ -20,6 +20,7 @@ import com.gic.haoban.manage.service.entity.MemberClerkChatConfig;
import com.gic.haoban.manage.service.entity.TabHaobanStaff; import com.gic.haoban.manage.service.entity.TabHaobanStaff;
import com.gic.haoban.manage.service.entity.TabHaobanStaffClerkRelation; import com.gic.haoban.manage.service.entity.TabHaobanStaffClerkRelation;
import com.gic.haoban.manage.service.service.*; import com.gic.haoban.manage.service.service.*;
import com.gic.member.api.service.MemberApiService;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
...@@ -60,6 +61,8 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService ...@@ -60,6 +61,8 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService
private HmClerkRelationApiService hmClerkRelationApiService; private HmClerkRelationApiService hmClerkRelationApiService;
@Autowired @Autowired
private WxEnterpriseService wxEnterpriseService; private WxEnterpriseService wxEnterpriseService;
@Autowired
private MemberApiService memberApiService;
@Override @Override
public List<StaffClerkRelationDTO> listBindCode(String enterpriseId, Set<String> clerkCodeList) { public List<StaffClerkRelationDTO> listBindCode(String enterpriseId, Set<String> clerkCodeList) {
...@@ -80,17 +83,20 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService ...@@ -80,17 +83,20 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService
} }
int i = mapper.changeStatusByClerkId(clerkId, 0); int i = mapper.changeStatusByClerkId(clerkId, 0);
String enterpriseId = clerkRelation.getEnterpriseId();
List<String> memberIds = externalClerkRelatedService.getByStoreIdAndStaffId(clerkRelation.getStoreId(), clerkRelation.getStaffId());
for (String memberId : memberIds) {
//解绑通知会员
memberApiService.updateMemberQywxFlag(enterpriseId, memberId, 0);
memberApiService.updateMemberQywxEveryOccasion(enterpriseId, memberId, 0, new Date());
}
//删除 并设置主门店 //删除 并设置主门店
clerkMainStoreRelatedService.delMainStore(clerkRelation.getStaffId(), clerkRelation.getStoreId(), clerkRelation.getWxEnterpriseId()); clerkMainStoreRelatedService.delMainStore(clerkRelation.getStaffId(), clerkRelation.getStoreId(), clerkRelation.getWxEnterpriseId());
boolean b = i >= 0;
if (b) {
//推入日志 //推入日志
staffClerkBindLogService.pushToMq(clerkRelation.getStaffId(), optStaffId, BindTypeEnum.UNBIND.getVal(), channelCode, clerkRelation.getStaffClerkRelationId()); staffClerkBindLogService.pushToMq(clerkRelation.getStaffId(), optStaffId, BindTypeEnum.UNBIND.getVal(), channelCode, clerkRelation.getStaffClerkRelationId());
//废弃活码 //废弃活码
hmClerkRelationApiService.delByClerkId(clerkId, clerkRelation.getEnterpriseId(), clerkRelation.getWxEnterpriseId(), channelCode); hmClerkRelationApiService.delByClerkId(clerkId, enterpriseId, clerkRelation.getWxEnterpriseId(), channelCode);
} return i > 0;
return b;
} }
@Override @Override
...@@ -102,21 +108,27 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService ...@@ -102,21 +108,27 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService
List<TabHaobanStaffClerkRelation> needUnbind = mapper.listBindByStoreIds(wxEnterpriseId, storeIds); List<TabHaobanStaffClerkRelation> needUnbind = mapper.listBindByStoreIds(wxEnterpriseId, storeIds);
if (CollectionUtils.isEmpty(needUnbind)) { if (CollectionUtils.isEmpty(needUnbind)) {
logger.info("没有门店绑定了需要解绑的:{}", wxEnterpriseId); logger.info("没有门店绑定了需要解绑的:{}", wxEnterpriseId);
return true;
} }
//清除绑定 //清除绑定
mapper.delByStoreIds(storeIds); mapper.delByStoreIds(storeIds);
//删除主门店 //删除主门店
clerkMainStoreRelatedService.delMainStoreByStoreIds(storeIds); clerkMainStoreRelatedService.delMainStoreByStoreIds(storeIds);
List<String> need = needUnbind.stream().map(tab -> tab.getStaffClerkRelationId()).collect(Collectors.toList()); List<String> need = needUnbind.stream().map(tab -> tab.getStaffClerkRelationId()).collect(Collectors.toList());
//放入队列 //放入队列
staffClerkBindLogService.pushToMqBatch(optStaffId, BindTypeEnum.UNBIND.getVal(), channelCode, need); staffClerkBindLogService.pushToMqBatch(optStaffId, BindTypeEnum.UNBIND.getVal(), channelCode, need);
for (TabHaobanStaffClerkRelation clerkRelation : needUnbind) { for (TabHaobanStaffClerkRelation clerkRelation : needUnbind) {
//废弃活码 //废弃活码
hmClerkRelationApiService.delByClerkId(clerkRelation.getClerkId(), clerkRelation.getEnterpriseId(), wxEnterpriseId, channelCode); String enterpriseId = clerkRelation.getEnterpriseId();
hmClerkRelationApiService.delByClerkId(clerkRelation.getClerkId(), enterpriseId, wxEnterpriseId, channelCode);
//删除好友通知会员
List<String> memberIds = externalClerkRelatedService.getByStoreIdAndStaffId(clerkRelation.getStoreId(), clerkRelation.getStaffId());
for (String memberId : memberIds) {
//解绑通知会员
memberApiService.updateMemberQywxFlag(enterpriseId, memberId, 0);
memberApiService.updateMemberQywxEveryOccasion(enterpriseId, memberId, 0, new Date());
}
} }
return true; return true;
} }
......
...@@ -171,12 +171,6 @@ public class StoreRangeServiceImpl implements StoreRangeService { ...@@ -171,12 +171,6 @@ public class StoreRangeServiceImpl implements StoreRangeService {
* @param addStoreIds * @param addStoreIds
*/ */
private void dealStoreRelation(List<TabStoreRelation> storeRelations, String enterpriseId, Set<String> delStoreIds, Set<String> addStoreIds) { private void dealStoreRelation(List<TabStoreRelation> storeRelations, String enterpriseId, Set<String> delStoreIds, Set<String> addStoreIds) {
// //先删除 后新增
// tabHaobanStoreRelationMapper.deleteAllStoreRalation(enterpriseId);
// //批量插入
// insertStoreRelationBatch(storeRelations);
//先删除 后新增 //先删除 后新增
if (CollectionUtils.isNotEmpty(delStoreIds)) { if (CollectionUtils.isNotEmpty(delStoreIds)) {
logger.info("批量删除门店:{}", JSONObject.toJSONString(delStoreIds)); logger.info("批量删除门店:{}", JSONObject.toJSONString(delStoreIds));
......
...@@ -68,6 +68,11 @@ public class WxEnterpriseRelatedServiceImpl implements WxEnterpriseRelatedServic ...@@ -68,6 +68,11 @@ public class WxEnterpriseRelatedServiceImpl implements WxEnterpriseRelatedServic
record.setWxEnterpriseRelatedId(id); record.setWxEnterpriseRelatedId(id);
record.setUpdateTime(new Date()); record.setUpdateTime(new Date());
mapper.updateByPrimaryKeySelective(record); mapper.updateByPrimaryKeySelective(record);
}
@Override
public int getRelationCount(String enterpriseId) {
List<TabHaobanWxEnterpriseRelated> list = this.mapper.listByEnterpriseId(enterpriseId) ;
return list.size();
} }
} }
package com.gic.haoban.manage.service.service.impl; package com.gic.haoban.manage.service.service.impl;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.gic.commons.util.EntityUtil; import com.gic.commons.util.EntityUtil;
import com.gic.haoban.common.utils.DingUtils; import com.gic.haoban.common.utils.DingUtils;
import com.gic.haoban.common.utils.StringUtil; import com.gic.haoban.common.utils.StringUtil;
import com.gic.haoban.manage.api.dto.WxEnterpriseDTO; import com.gic.haoban.manage.api.dto.WxEnterpriseDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseQwDTO; import com.gic.haoban.manage.api.dto.WxEnterpriseQwDTO;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanStaffClerkRelationMapper;
import com.gic.haoban.manage.service.dao.mapper.WxApplicationMapper; import com.gic.haoban.manage.service.dao.mapper.WxApplicationMapper;
import com.gic.haoban.manage.service.dao.mapper.WxEnterpriseMapper; import com.gic.haoban.manage.service.dao.mapper.WxEnterpriseMapper;
import com.gic.haoban.manage.service.dao.mapper.WxEnterpriseRelatedMapper; import com.gic.haoban.manage.service.dao.mapper.WxEnterpriseRelatedMapper;
...@@ -13,13 +26,6 @@ import com.gic.haoban.manage.service.entity.TabHaobanWxApplication; ...@@ -13,13 +26,6 @@ import com.gic.haoban.manage.service.entity.TabHaobanWxApplication;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise; import com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterpriseRelated; import com.gic.haoban.manage.service.entity.TabHaobanWxEnterpriseRelated;
import com.gic.haoban.manage.service.service.WxEnterpriseService; import com.gic.haoban.manage.service.service.WxEnterpriseService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
@Service @Service
public class WxEnterpriseServiceImpl implements WxEnterpriseService { public class WxEnterpriseServiceImpl implements WxEnterpriseService {
...@@ -31,6 +37,8 @@ public class WxEnterpriseServiceImpl implements WxEnterpriseService { ...@@ -31,6 +37,8 @@ public class WxEnterpriseServiceImpl implements WxEnterpriseService {
private WxEnterpriseRelatedMapper wxEnterpriseRelatedMapper ; private WxEnterpriseRelatedMapper wxEnterpriseRelatedMapper ;
@Autowired @Autowired
private WxApplicationMapper wxApplicationMapper ; private WxApplicationMapper wxApplicationMapper ;
@Autowired
private TabHaobanStaffClerkRelationMapper tabHaobanStaffClerkRelationMapper ;
@Override @Override
public String add(WxEnterpriseDTO wxDTO) { public String add(WxEnterpriseDTO wxDTO) {
...@@ -140,7 +148,7 @@ public class WxEnterpriseServiceImpl implements WxEnterpriseService { ...@@ -140,7 +148,7 @@ public class WxEnterpriseServiceImpl implements WxEnterpriseService {
@Override @Override
public void stopHaoban(String enterpriseId) { public void stopHaoban(String enterpriseId) {
List<TabHaobanWxEnterpriseRelated> list = this.wxEnterpriseRelatedMapper.listByEnterpriseId(enterpriseId) ; List<TabHaobanWxEnterpriseRelated> list = this.wxEnterpriseRelatedMapper.listByEnterpriseId(enterpriseId) ;
logger.info("停用好办={},list={}",enterpriseId,JSON.toJSONString(list)); logger.info("停用好办={},商户list={}",enterpriseId,JSON.toJSONString(list));
if(CollectionUtils.isEmpty(list)){ if(CollectionUtils.isEmpty(list)){
return ; return ;
} }
...@@ -150,8 +158,9 @@ public class WxEnterpriseServiceImpl implements WxEnterpriseService { ...@@ -150,8 +158,9 @@ public class WxEnterpriseServiceImpl implements WxEnterpriseService {
wxEnterpriseIdList.add(wxEnterpriseId) ; wxEnterpriseIdList.add(wxEnterpriseId) ;
} }
this.wxEnterpriseRelatedMapper.deleteByEnterpriseId(enterpriseId) ; this.wxEnterpriseRelatedMapper.deleteByEnterpriseId(enterpriseId) ;
this.tabHaobanStaffClerkRelationMapper.deleteByEnterpriseId(enterpriseId);
Map<String,Object> enMap = new HashMap<>(); Map<String,Object> enMap = new HashMap<>();
enMap.put("enterpriseId", enterpriseId) ; enMap.put("enterpriseId", enterpriseId + list.get(0).getEnterpriseName()) ;
alert("删除商户企微关联告警", enMap); alert("删除商户企微关联告警", enMap);
for(String wxEnterpriseId : wxEnterpriseIdList) { for(String wxEnterpriseId : wxEnterpriseIdList) {
List<TabHaobanWxEnterpriseRelated> relationList = this.wxEnterpriseRelatedMapper.listByWxenterpriseId(wxEnterpriseId) ; List<TabHaobanWxEnterpriseRelated> relationList = this.wxEnterpriseRelatedMapper.listByWxenterpriseId(wxEnterpriseId) ;
...@@ -234,6 +243,6 @@ public class WxEnterpriseServiceImpl implements WxEnterpriseService { ...@@ -234,6 +243,6 @@ public class WxEnterpriseServiceImpl implements WxEnterpriseService {
private void alert(String title, Map<String, Object> map) { private void alert(String title, Map<String, Object> map) {
String msg = title + JSON.toJSONString(map); String msg = title + JSON.toJSONString(map);
String dingUrl = "https://oapi.dingtalk.com/robot/send?access_token=c38fdc53d26e9a019640755bdada1ce07ebd44a2555d1c8acc299de7a7b5b857"; String dingUrl = "https://oapi.dingtalk.com/robot/send?access_token=c38fdc53d26e9a019640755bdada1ce07ebd44a2555d1c8acc299de7a7b5b857";
DingUtils.send(msg, dingUrl, true); DingUtils.send(msg, dingUrl, false);
} }
} }
...@@ -95,5 +95,7 @@ public interface PendingTaskService { ...@@ -95,5 +95,7 @@ public interface PendingTaskService {
*/ */
public boolean changeByRelationId(PendingTaskBO task); public boolean changeByRelationId(PendingTaskBO task);
public void insertPendingTaskBatch(List<PendingTaskBO> list);
} }
...@@ -142,4 +142,26 @@ public class PendingTaskServiceImpl implements PendingTaskService { ...@@ -142,4 +142,26 @@ public class PendingTaskServiceImpl implements PendingTaskService {
pendingTaskMapper.updateByPrimaryKeySelective(tabPendingTask); pendingTaskMapper.updateByPrimaryKeySelective(tabPendingTask);
return true; return true;
} }
@Override
public void insertPendingTaskBatch(List<PendingTaskBO> tasks) {
if (CollectionUtils.isEmpty(tasks)) {
return ;
}
List<TabPendingTask> pendingTasks = EntityUtil.changeEntityListByJSON(TabPendingTask.class, tasks);
if(pendingTasks.size()>1000) {
int size=1000;
int len = pendingTasks.size();
int yu = len % size;
int nu = len / size+(yu>0?1:0);
for (int i=0;i<nu;i++) {
int start=i*size;
int end=(start+size)>len?(start+yu):(start+size);
List<TabPendingTask> midTask = pendingTasks.subList(start, end);
pendingTaskMapper.insertBatch(midTask);
}
}else {
pendingTaskMapper.insertBatch(pendingTasks);
}
}
} }
...@@ -57,6 +57,16 @@ public class PendingTaskApiServiceImpl implements PendingTaskApiService { ...@@ -57,6 +57,16 @@ public class PendingTaskApiServiceImpl implements PendingTaskApiService {
} }
@Override @Override
public ServiceResponse<Boolean> insertPendingTaskBatch(List<PendingTaskQDTO> qdto) {
if (CollectionUtils.isEmpty(qdto)) {
return ServiceResponse.success(true);
}
List<PendingTaskBO> list = EntityUtil.changeEntityListByJSON(PendingTaskBO.class, qdto);
pendingTaskService.insertPendingTaskBatch(list);
return ServiceResponse.success(true);
}
@Override
public ServiceResponse<Page<PendingTaskDetailDTO>> pagePendingTask(PendingListQDTO listQDTO, BasePageInfo pageInfo) { public ServiceResponse<Page<PendingTaskDetailDTO>> pagePendingTask(PendingListQDTO listQDTO, BasePageInfo pageInfo) {
Page<PendingTaskBO> pendingTask = pendingTaskService.pagePendingTask(listQDTO.getEnterpriseId(), listQDTO.getStoreId() Page<PendingTaskBO> pendingTask = pendingTaskService.pagePendingTask(listQDTO.getEnterpriseId(), listQDTO.getStoreId()
, listQDTO.getClerkId(), listQDTO.getTaskType(), listQDTO.getFinishFlag() , listQDTO.getClerkId(), listQDTO.getTaskType(), listQDTO.getFinishFlag()
......
...@@ -202,15 +202,11 @@ public class AuditApiServiceImpl implements AuditApiService { ...@@ -202,15 +202,11 @@ public class AuditApiServiceImpl implements AuditApiService {
if (StringUtils.isNotBlank(batchId)) { if (StringUtils.isNotBlank(batchId)) {
insertBatchLog(batchId, AuditRsultType.success.getCode(), tab); insertBatchLog(batchId, AuditRsultType.success.getCode(), tab);
} }
//解绑日志 staffClerkRelationApiService.unbindByStaffAndClerkId(optStaffId,obj.getClerkId(),ChannelCodeEnum.AUDIT_UNBIND.getCode());
StaffClerkRelationDTO relationDTO = staffClerkRelationApiService.getByClerkId(obj.getClerkId());
if (null != relationDTO) {
staffClerkRelationApiService.pushToBindLog(relationDTO.getStaffId(), optStaffId, BindTypeEnum.UNBIND.getVal(), ChannelCodeEnum.SELF_UNBIND.getCode(), relationDTO.getStaffClerkRelationId());
}
staffClerkRelationApiService.delByClerkId(obj.getClerkId());
staffDepartmentRelatedApiService.sendClerkDel(obj.getClerkName(), obj.getClerkCode(), tab.getCommitStoreId(), 1, ""); staffDepartmentRelatedApiService.sendClerkDel(obj.getClerkName(), obj.getClerkCode(), tab.getCommitStoreId(), 1, "");
} else if (auditType == AuditType.CLERK_UNBIND.getCode()) { } else if (auditType == AuditType.CLERK_UNBIND.getCode()) {
//解绑申请,无需审核,直接通过 //解绑申请,无需审核,直接通过
logger.info("解绑申请,无需审核,直接通过");
} }
tab.setAuditStatus(1); tab.setAuditStatus(1);
auditMapper.updateByPrimaryKeySelective(tab); auditMapper.updateByPrimaryKeySelective(tab);
......
package com.gic.haoban.manage.service.service.out.impl; package com.gic.haoban.manage.service.service.out.impl;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.redisson.api.RRateLimiter;
import org.redisson.api.RateIntervalUnit;
import org.redisson.api.RateType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
import com.gic.api.base.dto.SubscribeMessageDTO;
import com.gic.clerk.api.dto.ClerkDTO;
import com.gic.clerk.api.service.ClerkService;
import com.gic.commons.util.EntityUtil; import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.GICMQClientUtil; import com.gic.commons.util.GICMQClientUtil;
import com.gic.commons.util.UniqueIdUtils; import com.gic.commons.util.UniqueIdUtils;
import com.gic.dubbo.entity.ProviderLocalTag; import com.gic.dubbo.entity.ProviderLocalTag;
import com.gic.enterprise.api.dto.StoreDTO;
import com.gic.enterprise.api.service.StoreService;
import com.gic.haoban.app.customer.enums.GicQywxSyncTypeEnum; import com.gic.haoban.app.customer.enums.GicQywxSyncTypeEnum;
import com.gic.haoban.app.customer.enums.QywxSyncTaskTypeEnum; import com.gic.haoban.app.customer.enums.QywxSyncTaskTypeEnum;
import com.gic.haoban.base.api.common.BasePageInfo; import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.base.api.common.ServiceResponse; import com.gic.haoban.base.api.common.ServiceResponse;
import com.gic.haoban.base.api.common.errCode.HaoBanErrCodeCommon; import com.gic.haoban.base.api.common.errCode.HaoBanErrCodeCommon;
import com.gic.haoban.common.utils.PageUtil; import com.gic.haoban.common.utils.PageUtil;
import com.gic.haoban.manage.api.dto.AlertMessageDTO; import com.gic.haoban.manage.api.dto.*;
import com.gic.haoban.manage.api.dto.ClerkStaffWxUserDTO;
import com.gic.haoban.manage.api.dto.ExternalClerkRelatedDTO;
import com.gic.haoban.manage.api.dto.ExternalClerkRelatedShortInfoDTO;
import com.gic.haoban.manage.api.dto.FriendMemberStatusDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseQwDTO;
import com.gic.haoban.manage.api.enums.AlertTypeEnum; import com.gic.haoban.manage.api.enums.AlertTypeEnum;
import com.gic.haoban.manage.api.enums.SyncTaskTypeEnum; import com.gic.haoban.manage.api.enums.SyncTaskTypeEnum;
import com.gic.haoban.manage.api.service.CheckQywxSettingApiService; import com.gic.haoban.manage.api.service.CheckQywxSettingApiService;
...@@ -45,27 +26,38 @@ import com.gic.haoban.manage.api.service.DealSyncOperationApiService; ...@@ -45,27 +26,38 @@ import com.gic.haoban.manage.api.service.DealSyncOperationApiService;
import com.gic.haoban.manage.api.service.ExternalClerkRelatedApiService; import com.gic.haoban.manage.api.service.ExternalClerkRelatedApiService;
import com.gic.haoban.manage.api.service.WxEnterpriseApiService; import com.gic.haoban.manage.api.service.WxEnterpriseApiService;
import com.gic.haoban.manage.service.config.Config; import com.gic.haoban.manage.service.config.Config;
import com.gic.haoban.manage.service.dao.mapper.ExternalUseridLogMapper; import com.gic.haoban.manage.service.dao.mapper.*;
import com.gic.haoban.manage.service.dao.mapper.MemberUnionidRelatedMapper; import com.gic.haoban.manage.service.entity.*;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanExternalClerkRelatedMapper;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanStaffClerkRelationMapper;
import com.gic.haoban.manage.service.dao.mapper.WxEnterpriseMapper;
import com.gic.haoban.manage.service.entity.MemberUnionidRelated;
import com.gic.haoban.manage.service.entity.TabExternalUseridLog;
import com.gic.haoban.manage.service.entity.TabHaobanExternalClerkRelated;
import com.gic.haoban.manage.service.entity.TabHaobanStaffClerkRelation;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise;
import com.gic.haoban.manage.service.entity.ext.MemberStaffRelExtDO; import com.gic.haoban.manage.service.entity.ext.MemberStaffRelExtDO;
import com.gic.haoban.manage.service.pojo.QywxTagSyncInfoPojo; import com.gic.haoban.manage.service.pojo.QywxTagSyncInfoPojo;
import com.gic.haoban.manage.service.service.WxEnterpriseService; import com.gic.haoban.manage.service.service.WxEnterpriseService;
import com.gic.haoban.manage.service.service.hm.WxUserAddLogService; import com.gic.haoban.manage.service.service.hm.WxUserAddLogService;
import com.gic.member.api.dto.MemberDTO;
import com.gic.member.api.dto.MemberSourceDetailDTO;
import com.gic.member.api.dto.MemberSourceShowDTO;
import com.gic.member.api.service.MemberApiService; import com.gic.member.api.service.MemberApiService;
import com.gic.member.api.service.MemberEntranceApiService;
import com.gic.member.api.service.MemberService;
import com.gic.mq.sdk.GicMQClient; import com.gic.mq.sdk.GicMQClient;
import com.gic.redis.data.util.RedisUtil; import com.gic.redis.data.util.RedisUtil;
import com.gic.wechat.api.dto.qywx.QywxNewExternalUseridDTO; import com.gic.wechat.api.dto.qywx.QywxNewExternalUseridDTO;
import com.gic.wechat.api.service.qywx.QywxUserApiService; import com.gic.wechat.api.service.qywx.QywxUserApiService;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.redisson.api.RRateLimiter;
import org.redisson.api.RateIntervalUnit;
import org.redisson.api.RateType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
@Service @Service
public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedApiService { public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedApiService {
...@@ -95,9 +87,17 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA ...@@ -95,9 +87,17 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
@Autowired @Autowired
private WxUserAddLogService wxUserAddLogService; private WxUserAddLogService wxUserAddLogService;
@Autowired @Autowired
private WxEnterpriseService wxEnterpriseService ; private WxEnterpriseService wxEnterpriseService;
@Autowired
private DealSyncOperationApiService dealSyncOperationApiService;
@Autowired
private MemberEntranceApiService memberEntranceApiService;
@Autowired
private StoreService storeService;
@Autowired
private ClerkService clerkService;
@Autowired @Autowired
private DealSyncOperationApiService dealSyncOperationApiService ; private MemberService memberService;
/** /**
* 查询会员在企业下的好友关系 * 查询会员在企业下的好友关系
...@@ -117,7 +117,7 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA ...@@ -117,7 +117,7 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
public List<ExternalClerkRelatedDTO> listByMemberIdList(List<String> memberIdList, String wxEnterpriseId, public List<ExternalClerkRelatedDTO> listByMemberIdList(List<String> memberIdList, String wxEnterpriseId,
String enterpriseId) { String enterpriseId) {
List<ExternalClerkRelatedDTO> list = tabHaobanExternalClerkRelatedMapper.listByMemberIdList(memberIdList, wxEnterpriseId, enterpriseId); List<ExternalClerkRelatedDTO> list = tabHaobanExternalClerkRelatedMapper.listByMemberIdList(memberIdList, wxEnterpriseId, enterpriseId);
return list ; return list;
} }
@Override @Override
...@@ -229,10 +229,77 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA ...@@ -229,10 +229,77 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
//回调给会员,更新是否为企微好友 //回调给会员,更新是否为企微好友
log.info("通知会员 合并会员后更新为企微好友,memberId:{}", memberId); log.info("通知会员 合并会员后更新为企微好友,memberId:{}", memberId);
memberApiService.updateMemberQywxFlag(enterpriseId, memberId, 1); memberApiService.updateMemberQywxFlag(enterpriseId, memberId, 1);
//定制
addDelFriendEvent(unionid, externalClerkRelated.getClerkId(), wxEnterpriseId, enterpriseId, memberId, externalClerkRelated.getStoreId(), 1);
//日志 //日志
wxUserAddLogService.updateMemberInfo(wxEnterpriseId, enterpriseId, externalClerkRelated.getStaffId(), externalClerkRelated.getExternalUserId(), memberId); wxUserAddLogService.updateMemberInfo(wxEnterpriseId, enterpriseId, externalClerkRelated.getStaffId(), externalClerkRelated.getExternalUserId(), memberId);
} }
/**
* 欧泊莱定制需求
*
* @param unionId
* @param clerkId
* @param enterpriseId
* @param memberId
* @param storeId
*/
private void addDelFriendEvent(String unionId, String clerkId, String wxEnterpriseId, String enterpriseId, String memberId, String storeId, Integer changeType) {
String addDelFriendEvent = config.getAddDelFriendEvent();
if (!addDelFriendEvent.contains(wxEnterpriseId)) {
log.info("非定制,无需广播通知");
return;
}
log.info("欧泊莱定制:unionId:{},clerkId:{}", unionId, changeType);
//欧泊莱定制需求
ClerkDTO clerkDTO = clerkService.getClerkByClerkId(clerkId);
StoreDTO storeDTO = storeService.getStore(storeId);
MemberDTO member = memberService.getMember(memberId);
GicMQClient clientInstance = GICMQClientUtil.getClientInstance();
try {
JSONObject msgBody = new JSONObject();
msgBody.put("cardNum", member.getCardNum());
msgBody.put("enterpriseId", enterpriseId);
msgBody.put("unionid", unionId);
if (storeDTO != null) {
msgBody.put("storeName", storeDTO.getStoreName());
msgBody.put("storeCode", storeDTO.getStoreCode());
}
if (clerkDTO != null) {
msgBody.put("clerkName", clerkDTO.getClerkName());
msgBody.put("clerkCode", clerkDTO.getClerkCode());
}
msgBody.put("changeType", changeType);
msgBody.put("addCreateTime", new Date());
msgBody.put("delCreateTime", "");
//获取渠道
List<String> list = new ArrayList<>();
MemberSourceShowDTO memberSourceShowDTO = memberEntranceApiService.getMemberSourceByMemberId(enterpriseId, memberId);
if (memberSourceShowDTO != null && CollectionUtils.isNotEmpty(memberSourceShowDTO.getMemberSourceList())) {
for (MemberSourceDetailDTO memberSourceDetailDTO : memberSourceShowDTO.getMemberSourceList()) {
if (null != memberSourceDetailDTO.getHighlight() && memberSourceDetailDTO.getHighlight() == 1) {
list.add(memberSourceDetailDTO.getParentSourceCode());
}
}
}
SubscribeMessageDTO subscribeMessageDTO = new SubscribeMessageDTO();
subscribeMessageDTO.setEvent("addDelFriendEvent");
subscribeMessageDTO.setTopic("member");
subscribeMessageDTO.setEnterpriseId(enterpriseId);
subscribeMessageDTO.setMemberId(memberId);
subscribeMessageDTO.setMemberChannels(list);
subscribeMessageDTO.setMsgBody(msgBody.toJSONString());
clientInstance.sendMessage("dealQywxExternalUserEvent", JSONObject.toJSONString(subscribeMessageDTO));
} catch (Exception e) {
log.info("加好友事件订阅通知:{}", e.getMessage(), e);
}
}
/** /**
* 刷新标签信息 * 刷新标签信息
* *
...@@ -325,12 +392,12 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA ...@@ -325,12 +392,12 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
public void delByMemberIdAndEnterpriseId(String memberId, String enterpriseId, String mergeMemberId) { public void delByMemberIdAndEnterpriseId(String memberId, String enterpriseId, String mergeMemberId) {
log.info("删除会员或者合并会员,memberId:{},enterpriseId:{},mergeMemberId:{}", memberId, enterpriseId, mergeMemberId); log.info("删除会员或者合并会员,memberId:{},enterpriseId:{},mergeMemberId:{}", memberId, enterpriseId, mergeMemberId);
if (StringUtils.isBlank(mergeMemberId)) { if (StringUtils.isBlank(mergeMemberId)) {
log.info("删除会员,memberId:{}",memberId); log.info("删除会员,memberId:{}", memberId);
//删除会员 //删除会员
tabHaobanExternalClerkRelatedMapper.updateStatusByMemberId(memberId, enterpriseId); tabHaobanExternalClerkRelatedMapper.updateStatusByMemberId(memberId, enterpriseId);
} else { } else {
//合并会员 //合并会员
log.info("合并会员,memberId:{}",memberId); log.info("合并会员,memberId:{}", memberId);
tabHaobanExternalClerkRelatedMapper.updateMemberIdByMemberId(mergeMemberId, memberId, enterpriseId); tabHaobanExternalClerkRelatedMapper.updateMemberIdByMemberId(mergeMemberId, memberId, enterpriseId);
int i = tabHaobanExternalClerkRelatedMapper.countByMemberId(mergeMemberId, enterpriseId); int i = tabHaobanExternalClerkRelatedMapper.countByMemberId(mergeMemberId, enterpriseId);
if (i > 0) { if (i > 0) {
...@@ -341,6 +408,7 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA ...@@ -341,6 +408,7 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
} }
} }
@Override @Override
public boolean isFriends(String memberId, String clerkId, String enterpriseId) { public boolean isFriends(String memberId, String clerkId, String enterpriseId) {
TabHaobanStaffClerkRelation staffClerkRelation = staffClerkRelationMapper.getByClerkId(clerkId); TabHaobanStaffClerkRelation staffClerkRelation = staffClerkRelationMapper.getByClerkId(clerkId);
...@@ -362,11 +430,11 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA ...@@ -362,11 +430,11 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
// 2个列表都为空查不了关系 // 2个列表都为空查不了关系
return Collections.emptyMap(); return Collections.emptyMap();
} }
WxEnterpriseQwDTO qwDTO = this.wxEnterpriseService.getQwInfo(wxEnterpriseId) ; WxEnterpriseQwDTO qwDTO = this.wxEnterpriseService.getQwInfo(wxEnterpriseId);
if (qwDTO == null) { if (qwDTO == null) {
return Collections.emptyMap(); return Collections.emptyMap();
} }
List<MemberStaffRelExtDO> res = staffClerkRelationMapper.listMemberStaffRelNew(memberIdList, clerkIdList, enterpriseId); List<MemberStaffRelExtDO> res = staffClerkRelationMapper.listMemberStaffRelNew(memberIdList, clerkIdList, enterpriseId, wxEnterpriseId);
if (CollectionUtils.isEmpty(res)) { if (CollectionUtils.isEmpty(res)) {
return Collections.emptyMap(); return Collections.emptyMap();
} }
...@@ -413,7 +481,7 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA ...@@ -413,7 +481,7 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
} }
RedisUtil.lock(lockKey, 1L, TimeUnit.DAYS, 0L); RedisUtil.lock(lockKey, 1L, TimeUnit.DAYS, 0L);
try { try {
WxEnterpriseQwDTO qwDTO = this.wxEnterpriseService.getQwInfo(wxEnterpriseId) ; WxEnterpriseQwDTO qwDTO = this.wxEnterpriseService.getQwInfo(wxEnterpriseId);
updateNewExUserId(tabHaobanWxEnterprise.getWxEnterpriseId(), qwDTO.getThirdCorpid()); updateNewExUserId(tabHaobanWxEnterprise.getWxEnterpriseId(), qwDTO.getThirdCorpid());
log.info("企业外部联系人id end,wxEnterpriseId:{}", wxEnterpriseId); log.info("企业外部联系人id end,wxEnterpriseId:{}", wxEnterpriseId);
RedisUtil.unlock(lockKey); RedisUtil.unlock(lockKey);
...@@ -647,8 +715,8 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA ...@@ -647,8 +715,8 @@ public class ExternalClerkRelatedApiServiceImpl implements ExternalClerkRelatedA
log.info("没有要刷新的:{},{}", wxEnterpriseId, staffList); log.info("没有要刷新的:{},{}", wxEnterpriseId, staffList);
return; return;
} }
staffList = staffList.stream().distinct().collect(Collectors.toList()) ; staffList = staffList.stream().distinct().collect(Collectors.toList());
log.info("staffList={}",JSON.toJSONString(staffList)); log.info("staffList={}", JSON.toJSONString(staffList));
for (String staffId : staffList) { for (String staffId : staffList) {
this.dealSyncOperationApiService.dealWxFriendClerkSingle(taskId, staffId, staffId, wxEnterpriseId); this.dealSyncOperationApiService.dealWxFriendClerkSingle(taskId, staffId, staffId, wxEnterpriseId);
} }
......
package com.gic.haoban.manage.service.service.out.impl; package com.gic.haoban.manage.service.service.out.impl;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.commons.util.GICMQClientUtil;
import com.gic.haoban.manage.api.dto.CommonMQDTO; import com.gic.haoban.manage.api.dto.CommonMQDTO;
import com.gic.haoban.manage.api.service.HaobanCommonMQApiService; import com.gic.haoban.manage.api.service.HaobanCommonMQApiService;
import com.gic.mq.sdk.GicMQClient;
import com.gic.quartz.api.dto.QuartzTaskDTO;
import com.gic.quartz.api.service.QuartzService;
@Service("haobanCommonMQApiService") @Service("haobanCommonMQApiService")
public class HaobanCommonMQApiServiceImpl implements HaobanCommonMQApiService { public class HaobanCommonMQApiServiceImpl implements HaobanCommonMQApiService {
private final Logger log = LogManager.getLogger(HaobanCommonMQApiService.class);
private static GicMQClient mqClient = GICMQClientUtil.getClientInstance();
@Autowired
private QuartzService quartzService ;
@Override @Override
public void commonHandler(CommonMQDTO dto) { public void putCommonMessage(CommonMQDTO dto) {
String message = JSONObject.toJSONString(dto);
log.info("加入好办通用队列params={}",message);
try {
mqClient.sendCommonMessage("haobanCommonRouter", message,
"com.gic.haoban.manage.api.service.HaobanCommonMQApiService", "commonHandler");
} catch (Exception e) {
log.error("发送MQ异常");
e.printStackTrace();
}
}
@Override
public void commonHandler(String message) {
log.info("接收好办通用队列params={}",message);
CommonMQDTO dto = JSON.parseObject(message, CommonMQDTO.class);
// 好办停用,删除定时
if(dto.getType()==1) {
Map<String,String> map = (Map<String, String>) dto.getParams() ;
String enterpriseId = map.get("enterpriseId") ;
this.deleteQuartz(enterpriseId);
}
} }
private void deleteQuartz(String enterpriseId) {
if(StringUtils.isBlank(enterpriseId)) {
return ;
}
log.info("删除好办定时eid={}",enterpriseId);
// 日报
QuartzTaskDTO task = new QuartzTaskDTO();
task.setTaskService("com.gic.haoban.app.daily.api.service.DailyReportTaskApiService");
task.setTaskMethod("run");
task.setReferId(enterpriseId);
this.quartzService.delQuartzTask(task);
}
} }
...@@ -5,6 +5,7 @@ import org.springframework.stereotype.Service; ...@@ -5,6 +5,7 @@ import org.springframework.stereotype.Service;
import com.gic.api.base.commons.ServiceResponse; import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.service.HaobanTimerApiService; import com.gic.haoban.manage.api.service.HaobanTimerApiService;
import com.gic.haoban.manage.service.service.ExternalClerkRelatedService;
import com.gic.haoban.manage.service.service.hm.HmQrcodeTempService; import com.gic.haoban.manage.service.service.hm.HmQrcodeTempService;
@Service("haobanTimerApiService") @Service("haobanTimerApiService")
...@@ -13,10 +14,21 @@ public class HaobanTimerApiServiceImpl implements HaobanTimerApiService { ...@@ -13,10 +14,21 @@ public class HaobanTimerApiServiceImpl implements HaobanTimerApiService {
@Autowired @Autowired
private HmQrcodeTempService hmQrcodeTempService ; private HmQrcodeTempService hmQrcodeTempService ;
@Autowired
private ExternalClerkRelatedService externalClerkRelatedService ;
@Override @Override
public ServiceResponse<Void> deleteTempWxHm(String params) { public ServiceResponse<Void> deleteTempWxHm(String params) {
this.hmQrcodeTempService.deleteForTimer(); this.hmQrcodeTempService.deleteForTimer();
return ServiceResponse.success(); return ServiceResponse.success();
} }
@Override
public ServiceResponse<Void> repairExternalUserId(String wxEnterpriseId) {
this.externalClerkRelatedService.repairExternalUserId(wxEnterpriseId) ;
return ServiceResponse.success();
}
} }
...@@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSON; ...@@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.JSONResponse; import com.gic.api.base.commons.JSONResponse;
import com.gic.api.base.dto.SubscribeMessageDTO;
import com.gic.clerk.api.dto.ClerkDTO; import com.gic.clerk.api.dto.ClerkDTO;
import com.gic.clerk.api.service.ClerkService; import com.gic.clerk.api.service.ClerkService;
import com.gic.clerk.api.service.PowerService; import com.gic.clerk.api.service.PowerService;
...@@ -61,10 +62,9 @@ import com.gic.haoban.manage.service.service.hm.WxUserAddLogService; ...@@ -61,10 +62,9 @@ import com.gic.haoban.manage.service.service.hm.WxUserAddLogService;
import com.gic.haoban.manage.service.util.CommonUtil; import com.gic.haoban.manage.service.util.CommonUtil;
import com.gic.haoban.manage.service.util.EmojiFilterUtil; import com.gic.haoban.manage.service.util.EmojiFilterUtil;
import com.gic.member.api.dto.MemberDTO; import com.gic.member.api.dto.MemberDTO;
import com.gic.member.api.service.MemberApiService; import com.gic.member.api.dto.MemberSourceDetailDTO;
import com.gic.member.api.service.MemberOpenCardBusinessService; import com.gic.member.api.dto.MemberSourceShowDTO;
import com.gic.member.api.service.MemberService; import com.gic.member.api.service.*;
import com.gic.member.api.service.MemberStoreService;
import com.gic.member.tag.api.dto.outapi.MemberTagSingleDTO; import com.gic.member.tag.api.dto.outapi.MemberTagSingleDTO;
import com.gic.member.tag.api.service.MemberTagOpenApiService; import com.gic.member.tag.api.service.MemberTagOpenApiService;
import com.gic.mq.sdk.GicMQClient; import com.gic.mq.sdk.GicMQClient;
...@@ -169,32 +169,74 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -169,32 +169,74 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
@Autowired @Autowired
private HmClerkRelationApiService hmClerkRelationApiService; private HmClerkRelationApiService hmClerkRelationApiService;
@Autowired @Autowired
private StaffMapper staffMapper ; private StaffMapper staffMapper;
@Autowired
private MemberEntranceApiService memberEntranceApiService;
@Override @Override
public void dealQywxExternalUser(String params) { public void dealQywxExternalUser(String params) {
log.info("处理外部联系人回调:{}", params); log.info("处理外部联系人回调:{}", params);
DealQywxExternalUserPojo externalUserPojo = JSONObject.parseObject(params, DealQywxExternalUserPojo.class); DealQywxExternalUserPojo externalUserPojo = JSONObject.parseObject(params, DealQywxExternalUserPojo.class);
QwFrientNoticeDTO dto = externalUserPojo.getData() ; QwFrientNoticeDTO qwFrientNoticeDTO = externalUserPojo.getData();
MemberUnionidRelatedDTO inDTO = EntityUtil.changeEntityByJSON(MemberUnionidRelatedDTO.class,dto) ; int type = externalUserPojo.getType();
if (externalUserPojo.getType() == DealQywxExternalUserPojo.DealType.del.getType()) { String wxUserId = qwFrientNoticeDTO.getWxUserId();
this.delMemberUnionidRelatedProcess(inDTO , dto.getWxUserId()); MemberUnionidRelatedDTO memberUnionidRelatedDTO = EntityUtil.changeEntityByJSON(MemberUnionidRelatedDTO.class, qwFrientNoticeDTO);
} else if (externalUserPojo.getType() == DealQywxExternalUserPojo.DealType.add.getType()) { if (type == DealQywxExternalUserPojo.DealType.add.getType()) {
this.addMemberUnionidRelatedNew(inDTO , dto.getWxUserId()); this.addMemberUnionidRelatedNew(memberUnionidRelatedDTO, wxUserId);
} else if (externalUserPojo.getType() == DealQywxExternalUserPojo.DealType.edit.getType()) { } else if (type == DealQywxExternalUserPojo.DealType.edit.getType()) {
this.editMemberUnionidRelatedProcess(inDTO , dto.getWxUserId()); this.editMemberUnionidRelatedProcess(memberUnionidRelatedDTO, wxUserId);
} else if (type == DealQywxExternalUserPojo.DealType.del.getType()) {
String changeType = qwFrientNoticeDTO.getChangeType();
//欧泊莱定制
if ("del_follow_user".equals(changeType)) {
log.info("会员删除导购");
String corpId = memberUnionidRelatedDTO.getCorpid();
TabHaobanWxApplication tabHaobanWxApplication = wxApplicationMapper.selectByCorpId(corpId, null);
if (tabHaobanWxApplication == null) {
log.info("查询tab_haoban_wx_application为空:{}", corpId);
return;
}
String wxEnterpriseId = tabHaobanWxApplication.getWxEnterpriseId();
memberUnionidRelatedDTO.setWxEnterpriseId(wxEnterpriseId);
TabHaobanStaff staff = this.staffMapper.selectByUserIdAndEnterpriseId(wxUserId, wxEnterpriseId);
String staffId = staff.getStaffId();
memberUnionidRelatedDTO.setStaffId(staffId);
List<TabHaobanExternalClerkRelated> tabHaobanExternalClerkRelatedList = externalClerkRelatedService.listByExternalUseridAndWxUserId(memberUnionidRelatedDTO.getExternalUserid(), memberUnionidRelatedDTO.getStaffId());
if (CollectionUtils.isEmpty(tabHaobanExternalClerkRelatedList)) {
log.error("无好友记录");
return;
}
TabHaobanExternalClerkRelated related = tabHaobanExternalClerkRelatedList.get(0);
String enterpriseId = related.getEnterpriseId();
//添加日志
WxUserAddLogQDTO wxUserAddLogQDTO = new WxUserAddLogQDTO();
wxUserAddLogQDTO.setWxEnterpriseId(wxEnterpriseId);
wxUserAddLogQDTO.setEnterpriseId(enterpriseId);
wxUserAddLogQDTO.setMemberId(related.getMemberId());
wxUserAddLogQDTO.setUnionid(related.getUnionid());
wxUserAddLogQDTO.setDelFlag(true);
wxUserAddLogQDTO.setExternalUserid(related.getExternalUserId());
wxUserAddLogQDTO.setStaffId(related.getStaffId());
wxUserAddLogQDTO.setClerkId(related.getClerkId());
wxUserAddLogQDTO.setDelClerkFlag(true);
wxUserAddLogService.save(wxUserAddLogQDTO);
addDelFriendEvent(related.getUnionid(), related.getClerkId(), wxEnterpriseId,enterpriseId, related.getMemberId(), related.getStoreId(), 0);
return;
}
log.info("导购删除好友");
this.delMemberUnionidRelatedProcess(memberUnionidRelatedDTO, wxUserId);
} }
} }
@Override @Override
public List<MemberStoreDTO> listByExTernalUseridAndWxUserId(String externalUserid, String staffId, String storeId) { public List<MemberStoreDTO> listByExTernalUseridAndWxUserId(String externalUserid, String staffId, String storeId) {
List<TabHaobanExternalClerkRelated> list = externalClerkRelatedService.listByExTernalUseridAndWxUserId(externalUserid, staffId); List<TabHaobanExternalClerkRelated> list = externalClerkRelatedService.listByExternalUseridAndWxUserId(externalUserid, staffId);
List<MemberStoreDTO> result = new ArrayList<>(); List<MemberStoreDTO> result = new ArrayList<>();
if (CollectionUtil.isEmpty(list)) { if (CollectionUtil.isEmpty(list)) {
return null; return null;
} }
TabHaobanStaff haobanStaff = staffService.selectById(staffId) ; TabHaobanStaff haobanStaff = staffService.selectById(staffId);
if (null == haobanStaff) { if (null == haobanStaff) {
log.info("staff不存在"); log.info("staff不存在");
return null; return null;
...@@ -209,7 +251,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -209,7 +251,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
log.info("staff关联门店不存在2"); log.info("staff关联门店不存在2");
return null; return null;
} }
log.info("门店信息storeIds={}",JSON.toJSONString(storeIds)); log.info("门店信息storeIds={}", JSON.toJSONString(storeIds));
//2、获取member的storeId //2、获取member的storeId
for (TabHaobanExternalClerkRelated tab : list) { for (TabHaobanExternalClerkRelated tab : list) {
if (StringUtils.isNotBlank(storeId) && (!storeId.equals(tab.getStoreId()))) { if (StringUtils.isNotBlank(storeId) && (!storeId.equals(tab.getStoreId()))) {
...@@ -293,12 +335,12 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -293,12 +335,12 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
@Override @Override
public String addMemberUnionidRelatedNew(MemberUnionidRelatedDTO dto, String wxUserId) { public String addMemberUnionidRelatedNew(MemberUnionidRelatedDTO dto, String wxUserId) {
//解析组装信息 //解析组装信息
dto = getMemberUnionidRelatedDTONew(dto,wxUserId); dto = getMemberUnionidRelatedDTONew(dto, wxUserId);
if (null == dto) { if (null == dto) {
log.info("没处理完成-等下一次处理"); log.info("没处理完成-等下一次处理");
return null; return null;
} }
insertExternalClerkRelatedNew(dto,wxUserId); insertExternalClerkRelatedNew(dto, wxUserId);
return dto.getMemberUnionidRelatedId(); return dto.getMemberUnionidRelatedId();
} }
...@@ -335,7 +377,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -335,7 +377,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
} }
String staffId = staff.getStaffId(); String staffId = staff.getStaffId();
String staffName = staff.getStaffName(); String staffName = staff.getStaffName();
log.info("新增外部联系人,staffId={}",staffId); log.info("新增外部联系人,staffId={}", staffId);
StaffClerkRelationDTO staffClerkRelationDTO = null; StaffClerkRelationDTO staffClerkRelationDTO = null;
//活码处理 "DT" "HM" //活码处理 "DT" "HM"
WxUserAddLogQDTO wxUserAddLogQDTO = new WxUserAddLogQDTO(); WxUserAddLogQDTO wxUserAddLogQDTO = new WxUserAddLogQDTO();
...@@ -435,7 +477,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -435,7 +477,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
if (StringUtils.isNotBlank(unionid)) { if (StringUtils.isNotBlank(unionid)) {
log.info("有unionid处理:wxEnterpriseId:{},unionid:{}", wxEnterpriseId, unionid); log.info("有unionid处理:wxEnterpriseId:{},unionid:{}", wxEnterpriseId, unionid);
dto.setUnionid(unionid); dto.setUnionid(unionid);
memberId = addExternalClerkRelated(dto, staffId, staffClerkRelationDTO, wxEnterpriseRelated, isHmUnionid, mobile , wxUserId); memberId = addExternalClerkRelated(dto, staffId, staffClerkRelationDTO, wxEnterpriseRelated, isHmUnionid, mobile, wxUserId);
} else { } else {
log.info("发送欢迎语逻辑:wxEnterpriseId:{}", wxEnterpriseId); log.info("发送欢迎语逻辑:wxEnterpriseId:{}", wxEnterpriseId);
addFriendByWelcome(dto, staffClerkRelationDTO); addFriendByWelcome(dto, staffClerkRelationDTO);
...@@ -549,6 +591,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -549,6 +591,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
} }
String memberId = member.getMemberId(); String memberId = member.getMemberId();
String storeId = staffClerkRelationDTO.getStoreId();
List<TabHaobanExternalClerkRelated> externalClerkRelateds = externalClerkRelatedService.listByExTernalUseridAndWxUserIdAllStatus(wxEnterpriseId, externalUserid, staffId); List<TabHaobanExternalClerkRelated> externalClerkRelateds = externalClerkRelatedService.listByExTernalUseridAndWxUserIdAllStatus(wxEnterpriseId, externalUserid, staffId);
String relationKey = SecureUtil.md5(staffId + externalUserid); String relationKey = SecureUtil.md5(staffId + externalUserid);
String memberUnionidRelatedId = dto.getMemberUnionidRelatedId(); String memberUnionidRelatedId = dto.getMemberUnionidRelatedId();
...@@ -563,7 +606,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -563,7 +606,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
related.setStaffId(staffId); related.setStaffId(staffId);
related.setHeadUrl(dto.getAvatar()); related.setHeadUrl(dto.getAvatar());
related.setMemberUnionidRelatedId(memberUnionidRelatedId); related.setMemberUnionidRelatedId(memberUnionidRelatedId);
related.setStoreId(staffClerkRelationDTO.getStoreId()); related.setStoreId(storeId);
related.setRelationKey(relationKey); related.setRelationKey(relationKey);
related.setUnionid(unionId); related.setUnionid(unionId);
related.setWxEnterpriseId(wxEnterpriseId); related.setWxEnterpriseId(wxEnterpriseId);
...@@ -578,7 +621,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -578,7 +621,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
exsitDTO.setUnionid(unionId); exsitDTO.setUnionid(unionId);
exsitDTO.setRelationKey(relationKey); exsitDTO.setRelationKey(relationKey);
exsitDTO.setHeadUrl(dto.getAvatar()); exsitDTO.setHeadUrl(dto.getAvatar());
exsitDTO.setStoreId(staffClerkRelationDTO.getStoreId()); exsitDTO.setStoreId(storeId);
exsitDTO.setEnterpriseId(enterpriseId); exsitDTO.setEnterpriseId(enterpriseId);
exsitDTO.setClerkId(clerkId); exsitDTO.setClerkId(clerkId);
exsitDTO.setStatusFlag(1); exsitDTO.setStatusFlag(1);
...@@ -598,9 +641,78 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -598,9 +641,78 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
//回调给会员,更新是否为企微好友 //回调给会员,更新是否为企微好友
log.info("通知会员 合并会员后更新为企微好友,memberId:{}", memberId); log.info("通知会员 合并会员后更新为企微好友,memberId:{}", memberId);
memberApiService.updateMemberQywxFlag(enterpriseId, memberId, 1); memberApiService.updateMemberQywxFlag(enterpriseId, memberId, 1);
//定制事件订阅
addDelFriendEvent(unionId, clerkId,wxEnterpriseId, enterpriseId, memberId, storeId, 1);
return memberId; return memberId;
} }
/**
* 欧泊莱定制需求
*
* @param unionId
* @param clerkId
* @param enterpriseId
* @param memberId
* @param storeId
*/
private void addDelFriendEvent(String unionId, String clerkId,String wxEnterpriseId, String enterpriseId, String memberId, String storeId, Integer changeType) {
String addDelFriendEvent = config.getAddDelFriendEvent();
if (!addDelFriendEvent.contains(wxEnterpriseId)) {
log.info("非定制,无需广播通知");
return;
}
log.info("欧泊莱定制:unionId:{},clerkId:{}",unionId,changeType);
//欧泊莱定制需求
ClerkDTO clerkDTO = clerkService.getClerkByClerkId(clerkId);
StoreDTO storeDTO = storeService.getStore(storeId);
MemberDTO member = memberService.getMember(memberId);
GicMQClient clientInstance = GICMQClientUtil.getClientInstance();
try {
JSONObject msgBody = new JSONObject();
msgBody.put("cardNum", member.getCardNum());
msgBody.put("enterpriseId", enterpriseId);
msgBody.put("unionid", unionId);
if (storeDTO != null) {
msgBody.put("storeName", storeDTO.getStoreName());
msgBody.put("storeCode", storeDTO.getStoreCode());
}
if (clerkDTO != null) {
msgBody.put("clerkName", clerkDTO.getClerkName());
msgBody.put("clerkCode", clerkDTO.getClerkCode());
}
// 1添加;0删除
msgBody.put("changeType", changeType);
if (changeType == 0) {
msgBody.put("delCreateTime", new Date());
msgBody.put("delUserContact", 1);
} else {
msgBody.put("addCreateTime", new Date());
}
//获取渠道
List<String> list = new ArrayList<>();
MemberSourceShowDTO memberSourceShowDTO = memberEntranceApiService.getMemberSourceByMemberId(enterpriseId, memberId);
if (memberSourceShowDTO != null && CollectionUtils.isNotEmpty(memberSourceShowDTO.getMemberSourceList())) {
for (MemberSourceDetailDTO memberSourceDetailDTO : memberSourceShowDTO.getMemberSourceList()) {
if (null != memberSourceDetailDTO.getHighlight() && memberSourceDetailDTO.getHighlight() == 1) {
list.add(memberSourceDetailDTO.getParentSourceCode());
}
}
}
SubscribeMessageDTO subscribeMessageDTO = new SubscribeMessageDTO();
subscribeMessageDTO.setEvent("addDelFriendEvent");
subscribeMessageDTO.setTopic("member");
subscribeMessageDTO.setEnterpriseId(enterpriseId);
subscribeMessageDTO.setMemberId(memberId);
subscribeMessageDTO.setMemberChannels(list);
subscribeMessageDTO.setMsgBody(msgBody.toJSONString());
clientInstance.sendMessage("dealQywxExternalUserEvent", JSONObject.toJSONString(subscribeMessageDTO));
} catch (Exception e) {
log.info("加好友事件订阅通知:{}", e.getMessage(), e);
}
}
/** /**
* 欢迎语新增好友 * 欢迎语新增好友
...@@ -1062,20 +1174,20 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -1062,20 +1174,20 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
* *
* @param dto * @param dto
*/ */
private void delMemberUnionidRelatedProcess(MemberUnionidRelatedDTO dto , String wxUserId) { private void delMemberUnionidRelatedProcess(MemberUnionidRelatedDTO dto, String wxUserId) {
String corpId = dto.getCorpid(); String corpId = dto.getCorpid();
TabHaobanWxApplication tabHaobanWxApplication = wxApplicationMapper.selectByCorpId(corpId, null); TabHaobanWxApplication tabHaobanWxApplication = wxApplicationMapper.selectByCorpId(corpId, null);
if (tabHaobanWxApplication == null) { if (tabHaobanWxApplication == null) {
log.info("查询tab_haoban_wx_application为空:{}", corpId); log.info("查询tab_haoban_wx_application为空:{}", corpId);
return ; return;
} }
String wxEnterpriseId = tabHaobanWxApplication.getWxEnterpriseId(); String wxEnterpriseId = tabHaobanWxApplication.getWxEnterpriseId();
dto.setWxEnterpriseId(wxEnterpriseId); dto.setWxEnterpriseId(wxEnterpriseId);
TabHaobanStaff staff = this.staffMapper.selectByUserIdAndEnterpriseId(wxUserId,wxEnterpriseId) ; TabHaobanStaff staff = this.staffMapper.selectByUserIdAndEnterpriseId(wxUserId, wxEnterpriseId);
String staffId = staff.getStaffId() ; String staffId = staff.getStaffId();
dto.setStaffId(staffId); dto.setStaffId(staffId);
externalClerkRelatedService.delByUserIdAndExternalUserId(dto , wxUserId); externalClerkRelatedService.delByUserIdAndExternalUserId(dto, wxUserId);
memberUnionRelatedService.delMemberUnionidRelated(dto , staffId); memberUnionRelatedService.delMemberUnionidRelated(dto, staffId);
} }
private void editMemberUnionidRelatedProcess(MemberUnionidRelatedDTO dto, String wxUserId) { private void editMemberUnionidRelatedProcess(MemberUnionidRelatedDTO dto, String wxUserId) {
...@@ -1131,25 +1243,9 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -1131,25 +1243,9 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
@Override @Override
public JSONResponse sendMessage(String wxEnterpriseId, String staffId, List<String> extendUserList, public JSONResponse sendMessage(String wxEnterpriseId, String staffId, List<String> extendUserList,
List<String> materialIdList, String ecmPlanId) { List<String> materialIdList, String ecmPlanId) {
if(StringUtils.isNotBlank(ecmPlanId) && "ff80808182ef67cd0182f3152b2900cf".equals(ecmPlanId)) {
List<String> list = Arrays.asList("244fc3aa44dd492c90041d404f02b3a0",
"3c6d26dc791946a8aa8aaf06d9deb9a6",
"4dd7689a3a5e48439840fb187bfaf995",
"6a29b127c15648cc8da60fa4bf8b6b92",
"6ad57e1d64214bfbbb7662e748ed1b84",
"7e364ea272044763bdda5afef3961ae5",
"ce6ac0d3d8a54b74a4af59996597ed03",
"dded2a7d79ee4d759372741256f04cec",
"edc487470d0344198f7185d3e2e7362a") ;
if(list.contains(staffId)) {
JSONResponse jp = new JSONResponse();
jp.setErrorCode(-1);
jp.setErrorMessage("已触发过");
return jp;
}
}
return this.sendMessage(wxEnterpriseId, staffId, extendUserList, materialIdList); return this.sendMessage(wxEnterpriseId, staffId, extendUserList, materialIdList);
} }
/** /**
* 创建企业群发, 支出素材批量发送 * 创建企业群发, 支出素材批量发送
* *
...@@ -1188,12 +1284,12 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -1188,12 +1284,12 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
qywxExternalMessageDTO.setChatType("single"); qywxExternalMessageDTO.setChatType("single");
qywxExternalMessageDTO.setExternalUserid(extendUserList); qywxExternalMessageDTO.setExternalUserid(extendUserList);
TabHaobanStaff tabHaobanStaff = staffService.selectById(staffId); TabHaobanStaff tabHaobanStaff = staffService.selectById(staffId);
if(null == tabHaobanStaff) { if (null == tabHaobanStaff) {
log.info("staff不存在,staffId={}",staffId); log.info("staff不存在,staffId={}", staffId);
JSONResponse jp = new JSONResponse(); JSONResponse jp = new JSONResponse();
jp.setErrorCode(-1); jp.setErrorCode(-1);
jp.setErrorMessage("群发失败,成员查不到," + staffId); jp.setErrorMessage("群发失败,成员查不到," + staffId);
return jp ; return jp;
} }
if (qwDTO.needOpenUserId3th()) { if (qwDTO.needOpenUserId3th()) {
qywxExternalMessageDTO.setSenderUserId(tabHaobanStaff.getWxOpenUseId()); qywxExternalMessageDTO.setSenderUserId(tabHaobanStaff.getWxOpenUseId());
...@@ -1399,7 +1495,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -1399,7 +1495,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
@Override @Override
public ExternalUserDTO getCorpSelfExternalUseridInfoForMember(String wxEnterpriseId, String wxUserId, public ExternalUserDTO getCorpSelfExternalUseridInfoForMember(String wxEnterpriseId, String wxUserId,
String externalUserId,String enterpriseId) { String externalUserId, String enterpriseId) {
WxEnterpriseQwDTO qwDTO = this.wxEnterpriseService.getQwInfo(wxEnterpriseId); WxEnterpriseQwDTO qwDTO = this.wxEnterpriseService.getQwInfo(wxEnterpriseId);
if (qwDTO == null) { if (qwDTO == null) {
log.info("企业不存在"); log.info("企业不存在");
...@@ -1707,12 +1803,12 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -1707,12 +1803,12 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
Set<String> externalUserIdList = list.stream().map(external -> external.getExternalUserId()).collect(Collectors.toSet()); Set<String> externalUserIdList = list.stream().map(external -> external.getExternalUserId()).collect(Collectors.toSet());
Sets.SetView<String> delExternalUserIds = Sets.difference(new HashSet<>(externalUserIds), externalUserIdList); Sets.SetView<String> delExternalUserIds = Sets.difference(new HashSet<>(externalUserIds), externalUserIdList);
if (CollectionUtils.isEmpty(delExternalUserIds)) { if (CollectionUtils.isEmpty(delExternalUserIds)) {
log.info("没有需要删除的外部联系人:{},{}", staffId); log.info("没有需要删除的外部联系人:{}", staffId);
return; return;
} }
//删除成员与union的关联关系 //删除成员与union的关联关系
List<String> khList = new ArrayList<String>(delExternalUserIds) ; List<String> khList = new ArrayList<String>(delExternalUserIds);
log.info("需要删除外部联系人staffId={} , khList={}", staffId,JSON.toJSONString(khList)); log.info("需要删除外部联系人staffId={} , khList={}", staffId, JSON.toJSONString(khList));
memberUnionRelatedService.delMemberUnionidRelatedBatch(wxEnterpriseId, staffId, khList); memberUnionRelatedService.delMemberUnionidRelatedBatch(wxEnterpriseId, staffId, khList);
//删除导购和外部联系人关系 //删除导购和外部联系人关系
externalClerkRelatedService.delByUserIdAndExternalUserIdBatch(wxEnterpriseId, staffId, khList); externalClerkRelatedService.delByUserIdAndExternalUserIdBatch(wxEnterpriseId, staffId, khList);
...@@ -1833,7 +1929,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -1833,7 +1929,7 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
String wxUserId = externalUserDTO.getWxUserId(); String wxUserId = externalUserDTO.getWxUserId();
TabHaobanStaff tabHaobanStaff = staffService.selectByUserIdAndEnterpriseId(wxUserId, wxEnterpriseId); TabHaobanStaff tabHaobanStaff = staffService.selectByUserIdAndEnterpriseId(wxUserId, wxEnterpriseId);
if (tabHaobanStaff == null) { if (tabHaobanStaff == null) {
log.error("员工不存在:{}",wxUserId); log.error("员工不存在:{}", wxUserId);
continue; continue;
} }
TabHaobanExternalClerkRelated externalClerkRelated = externalClerkRelatedMapper.getByEnterpriseIdAndExternalUserId(wxEnterpriseId, tabHaobanStaff.getStaffId(), enterpriseId, externalUserid); TabHaobanExternalClerkRelated externalClerkRelated = externalClerkRelatedMapper.getByEnterpriseIdAndExternalUserId(wxEnterpriseId, tabHaobanStaff.getStaffId(), enterpriseId, externalUserid);
...@@ -1905,6 +2001,11 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA ...@@ -1905,6 +2001,11 @@ public class MemberUnionidRelatedApiServiceImpl implements MemberUnionidRelatedA
return EntityUtil.changeEntityNew(MemberUnionidRelatedDTO.class, memberUnionidRelated); return EntityUtil.changeEntityNew(MemberUnionidRelatedDTO.class, memberUnionidRelated);
} }
@Override
public void addDelFriendEventTest(String param) {
log.info("addDelFriendEventTest:{}",param);
}
/** /**
* 获取客户详情列表 * 获取客户详情列表
* *
......
...@@ -10,10 +10,7 @@ import com.gic.haoban.app.customer.service.api.service.InnerApiService; ...@@ -10,10 +10,7 @@ import com.gic.haoban.app.customer.service.api.service.InnerApiService;
import com.gic.haoban.base.api.common.Constant; import com.gic.haoban.base.api.common.Constant;
import com.gic.haoban.base.api.common.ServiceResponse; import com.gic.haoban.base.api.common.ServiceResponse;
import com.gic.haoban.manage.api.dto.*; import com.gic.haoban.manage.api.dto.*;
import com.gic.haoban.manage.api.enums.AppPageType; import com.gic.haoban.manage.api.enums.*;
import com.gic.haoban.manage.api.enums.NoticeMessageTypeEnum;
import com.gic.haoban.manage.api.enums.SecretTypeEnum;
import com.gic.haoban.manage.api.enums.WxEditType;
import com.gic.haoban.manage.api.service.MessageApiService; import com.gic.haoban.manage.api.service.MessageApiService;
import com.gic.haoban.manage.api.service.StaffApiService; import com.gic.haoban.manage.api.service.StaffApiService;
import com.gic.haoban.manage.api.service.StaffClerkRelationApiService; import com.gic.haoban.manage.api.service.StaffClerkRelationApiService;
...@@ -316,7 +313,7 @@ public class MessageApiServiceImpl implements MessageApiService { ...@@ -316,7 +313,7 @@ public class MessageApiServiceImpl implements MessageApiService {
List<StaffClerkRelationDTO> staffClerkRelationDTOS = staffClerkRelationApiService.listByStaffId(wxEnterpriseId, staffId); List<StaffClerkRelationDTO> staffClerkRelationDTOS = staffClerkRelationApiService.listByStaffId(wxEnterpriseId, staffId);
if (CollectionUtils.isNotEmpty(staffClerkRelationDTOS)) { if (CollectionUtils.isNotEmpty(staffClerkRelationDTOS)) {
for (StaffClerkRelationDTO staffClerkRelationDTO : staffClerkRelationDTOS) { for (StaffClerkRelationDTO staffClerkRelationDTO : staffClerkRelationDTOS) {
staffClerkRelationApiService.unbindByStaffAndClerkId(staffId, staffClerkRelationDTO.getClerkId()); staffClerkRelationApiService.unbindByStaffAndClerkId(staffId, staffClerkRelationDTO.getClerkId(), ChannelCodeEnum.ADMIN_UNBIND.getCode());
} }
} }
} }
......
...@@ -209,12 +209,10 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe ...@@ -209,12 +209,10 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
@Override @Override
public void delByStoreIdAndCode(String storeId, String clerkCode) { public void delBindByStoreId(String wxEnterpriseId,String storeId, String staffId,int channelCode) {
TabHaobanStaffClerkRelation staffClerkRelation = tabHaobanStaffClerkRelationMapper.getByCodeAndStoreId(clerkCode, storeId); Set<String> needUnBindStoreIds = new HashSet<>();
//删除绑定关系 needUnBindStoreIds.add(storeId);
tabHaobanStaffClerkRelationMapper.delByStoreIdAndCode(storeId, clerkCode); staffClerkRelationService.delBindByStoreIds(wxEnterpriseId, needUnBindStoreIds, staffId, ChannelCodeEnum.SELF_UNBIND.getCode());
//删除主门店
delSetMainStore(staffClerkRelation, ChannelCodeEnum.SELF_UNBIND.getCode());
} }
@Override @Override
...@@ -236,8 +234,8 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe ...@@ -236,8 +234,8 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
} }
@Override @Override
public boolean unbindByStaffAndClerkId(String staffId, String clerkId) { public boolean unbindByStaffAndClerkId(String staffId, String clerkId,int channelCode) {
return staffClerkRelationService.delBind(clerkId, staffId, ChannelCodeEnum.ADMIN_UNBIND.getCode()); return staffClerkRelationService.delBind(clerkId, staffId, channelCode);
} }
@Override @Override
...@@ -280,28 +278,6 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe ...@@ -280,28 +278,6 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
} }
@Override @Override
public void delByClerkId(String clerkId) {
TabHaobanStaffClerkRelation staffClerkRelation = tabHaobanStaffClerkRelationMapper.getOneByClerkId(clerkId);
tabHaobanStaffClerkRelationMapper.delByClerkId(clerkId);
delSetMainStore(staffClerkRelation, ChannelCodeEnum.AUDIT_UNBIND.getCode());
}
private void delSetMainStore(TabHaobanStaffClerkRelation staffClerkRelation, Integer channelCode) {
if (staffClerkRelation == null) {
logger.info("staffClerkRelation为空");
return;
}
String staffId = staffClerkRelation.getStaffId();
String wxEnterpriseId = staffClerkRelation.getWxEnterpriseId();
String clerkId = staffClerkRelation.getClerkId();
externalClerkRelatedService.delByClerkIdAndStaffId(clerkId, staffId);
//删除主门店
clerkMainStoreRelatedService.delMainStore(staffId, staffClerkRelation.getStoreId(), wxEnterpriseId);
//废弃活码
hmClerkRelationApiService.delByClerkId(clerkId, staffClerkRelation.getEnterpriseId(), wxEnterpriseId, channelCode);
}
@Override
public List<StaffClerkRelationDTO> listByEnterpriseIdAndStaffid(String enterpriseId, String staffid) { public List<StaffClerkRelationDTO> listByEnterpriseIdAndStaffid(String enterpriseId, String staffid) {
List<TabHaobanStaffClerkRelation> list = tabHaobanStaffClerkRelationMapper.listByEnterpriseIdAndStaffid(enterpriseId, staffid); List<TabHaobanStaffClerkRelation> list = tabHaobanStaffClerkRelationMapper.listByEnterpriseIdAndStaffid(enterpriseId, staffid);
return EntityUtil.changeEntityListByJSON(StaffClerkRelationDTO.class, list); return EntityUtil.changeEntityListByJSON(StaffClerkRelationDTO.class, list);
......
...@@ -16,7 +16,6 @@ import com.gic.haoban.manage.api.util.notify.NoticeMessageUtil; ...@@ -16,7 +16,6 @@ import com.gic.haoban.manage.api.util.notify.NoticeMessageUtil;
import com.gic.haoban.manage.service.config.Config; import com.gic.haoban.manage.service.config.Config;
import com.gic.haoban.manage.service.dao.mapper.StaffDepartmentRelatedMapper; import com.gic.haoban.manage.service.dao.mapper.StaffDepartmentRelatedMapper;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanStaffClerkRelationMapper; import com.gic.haoban.manage.service.dao.mapper.TabHaobanStaffClerkRelationMapper;
import com.gic.haoban.manage.service.dao.mapper.WxEnterpriseMapper;
import com.gic.haoban.manage.service.entity.TabHaobanStaffClerkRelation; import com.gic.haoban.manage.service.entity.TabHaobanStaffClerkRelation;
import com.gic.haoban.manage.service.entity.TabHaobanStaffDepartmentRelated; import com.gic.haoban.manage.service.entity.TabHaobanStaffDepartmentRelated;
import com.gic.haoban.manage.service.service.StaffDepartmentRelatedService; import com.gic.haoban.manage.service.service.StaffDepartmentRelatedService;
...@@ -49,8 +48,6 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela ...@@ -49,8 +48,6 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
@Autowired @Autowired
private QywxSuiteApiService qywxSuiteApiService; private QywxSuiteApiService qywxSuiteApiService;
@Autowired @Autowired
private WxEnterpriseMapper wxEnterpriseMapper;
@Autowired
private Config config; private Config config;
@Autowired @Autowired
private TabHaobanStaffClerkRelationMapper tabHaobanStaffClerkRelationMapper; private TabHaobanStaffClerkRelationMapper tabHaobanStaffClerkRelationMapper;
...@@ -519,27 +516,4 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela ...@@ -519,27 +516,4 @@ public class StaffDepartmentRelatedApiServiceImpl implements StaffDepartmentRela
} }
} }
@Override
public void sendClerkAddAuditMessage(String auditId, String staffId, String clerkId, String reason, boolean isRefuse) {
ClerkDTO clerkDTO = clerkService.getClerkByClerkId(clerkId);
if (clerkDTO == null) {
return;
}
StaffDTO staffDTO = staffApiService.selectById(staffId);
//字段
Map<String, String> params = new HashMap<String, String>();
params.put("staffName", staffDTO.getStaffName());
params.put("clerkCode", clerkDTO.getClerkCode());
params.put("reason", reason);
//参数
JSONObject jsonObject = new JSONObject();
jsonObject.put("storeId", clerkDTO.getStoreId());
//发送消息
if (isRefuse) {
NoticeMessageUtil.sendNoticeMessageByStaff(clerkDTO.getEnterpriseId(), staffId, clerkId, NoticeMessageTypeEnum.STORE_ACCOUNT_REFUSE.getType(), auditId, params, jsonObject);
} else {
NoticeMessageUtil.sendNoticeMessageByStaff(clerkDTO.getEnterpriseId(), staffId, clerkId, NoticeMessageTypeEnum.STORE_ACCOUNT_AGREE.getType(), auditId, params, jsonObject);
}
}
} }
package com.gic.haoban.manage.service.service.out.impl; package com.gic.haoban.manage.service.service.out.impl;
import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.gic.api.base.commons.ServiceResponse; import com.gic.api.base.commons.ServiceResponse;
import com.gic.commons.util.DateUtil;
import com.gic.commons.util.EntityUtil; import com.gic.commons.util.EntityUtil;
import com.gic.enterprise.api.dto.EnterpriseDTO; import com.gic.enterprise.api.constant.EnterpriseServiceEnum;
import com.gic.enterprise.api.service.EnterpriseService; import com.gic.enterprise.api.dto.EnterpriseUsingPermissionDto;
import com.gic.enterprise.api.service.EnterpriseUseForbidService;
import com.gic.haoban.base.api.common.BasePageInfo; import com.gic.haoban.base.api.common.BasePageInfo;
import com.gic.haoban.common.utils.PageUtil; import com.gic.haoban.common.utils.PageUtil;
import com.gic.haoban.manage.api.dto.*; import com.gic.haoban.manage.api.dto.CommonMQDTO;
import com.gic.haoban.manage.api.dto.MiniprogramSettingDTO;
import com.gic.haoban.manage.api.dto.QywxCorpInfoSimpleDTO;
import com.gic.haoban.manage.api.dto.SecretSettingDTO;
import com.gic.haoban.manage.api.dto.StaffPrivacyUseLogDTO;
import com.gic.haoban.manage.api.dto.WelcomeDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseQwDTO;
import com.gic.haoban.manage.api.dto.YwWxEnterpriseDTO;
import com.gic.haoban.manage.api.enums.SecretTypeEnum; import com.gic.haoban.manage.api.enums.SecretTypeEnum;
import com.gic.haoban.manage.api.service.HaobanCommonMQApiService;
import com.gic.haoban.manage.api.service.WxEnterpriseApiService; import com.gic.haoban.manage.api.service.WxEnterpriseApiService;
import com.gic.haoban.manage.service.config.Config; import com.gic.haoban.manage.service.config.Config;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanWelcomeMapper; import com.gic.haoban.manage.service.dao.mapper.TabHaobanWelcomeMapper;
import com.gic.haoban.manage.service.dao.mapper.WxEnterpriseMapper; import com.gic.haoban.manage.service.dao.mapper.WxEnterpriseMapper;
import com.gic.haoban.manage.service.dao.mapper.WxEnterpriseRelatedMapper; import com.gic.haoban.manage.service.dao.mapper.WxEnterpriseRelatedMapper;
import com.gic.haoban.manage.service.entity.*; import com.gic.haoban.manage.service.entity.TabHaobanWxApplication;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterprise;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterpriseRelated;
import com.gic.haoban.manage.service.entity.TabMiniprogramSetting;
import com.gic.haoban.manage.service.entity.TabWelcome;
import com.gic.haoban.manage.service.pojo.bo.StaffPrivacyUseLogBO; import com.gic.haoban.manage.service.pojo.bo.StaffPrivacyUseLogBO;
import com.gic.haoban.manage.service.service.*; import com.gic.haoban.manage.service.service.MiniprogramSettingService;
import com.gic.haoban.manage.service.service.SecretSettingService;
import com.gic.haoban.manage.service.service.StaffPrivacyUseLogService;
import com.gic.haoban.manage.service.service.WxApplicationService;
import com.gic.haoban.manage.service.service.WxEnterpriseService;
import com.gic.wechat.api.service.qywx.QywxUserApiService; import com.gic.wechat.api.service.qywx.QywxUserApiService;
import com.github.pagehelper.Page; import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
@Service @Service
public class WxEnterpriseApiServiceImpl implements WxEnterpriseApiService { public class WxEnterpriseApiServiceImpl implements WxEnterpriseApiService {
...@@ -40,8 +68,6 @@ public class WxEnterpriseApiServiceImpl implements WxEnterpriseApiService { ...@@ -40,8 +68,6 @@ public class WxEnterpriseApiServiceImpl implements WxEnterpriseApiService {
@Autowired @Autowired
private WxApplicationService wxApplicationService; private WxApplicationService wxApplicationService;
@Autowired @Autowired
private EnterpriseService enterpriseService;
@Autowired
private SecretSettingService secretSettingService; private SecretSettingService secretSettingService;
@Autowired @Autowired
private MiniprogramSettingService miniprogramSettingService; private MiniprogramSettingService miniprogramSettingService;
...@@ -55,6 +81,10 @@ public class WxEnterpriseApiServiceImpl implements WxEnterpriseApiService { ...@@ -55,6 +81,10 @@ public class WxEnterpriseApiServiceImpl implements WxEnterpriseApiService {
private WxEnterpriseRelatedMapper wxEnterpriseRelatedMapper; private WxEnterpriseRelatedMapper wxEnterpriseRelatedMapper;
@Autowired @Autowired
private QywxUserApiService qywxUserApiService; private QywxUserApiService qywxUserApiService;
@Autowired
private EnterpriseUseForbidService enterpriseUseForbidService;
@Autowired
private HaobanCommonMQApiService haobanCommonMQApiService ;
@Override @Override
public void callbackReviceEnterprise(QywxCorpInfoSimpleDTO dto) { public void callbackReviceEnterprise(QywxCorpInfoSimpleDTO dto) {
...@@ -251,69 +281,47 @@ public class WxEnterpriseApiServiceImpl implements WxEnterpriseApiService { ...@@ -251,69 +281,47 @@ public class WxEnterpriseApiServiceImpl implements WxEnterpriseApiService {
public ServiceResponse<Boolean> isStopHaoban(String corpId) { public ServiceResponse<Boolean> isStopHaoban(String corpId) {
TabHaobanWxEnterprise entity = this.wxEnterpriseService.getEnterpriseBycorpId(corpId); TabHaobanWxEnterprise entity = this.wxEnterpriseService.getEnterpriseBycorpId(corpId);
if (null == entity) { if (null == entity) {
return ServiceResponse.failure("9999", "企微不存在"); log.info("企微查询不到corpid={}",corpId);
return ServiceResponse.failure("9999", "企微企业信息不存在");
} }
String wxEnterpriseId = entity.getWxEnterpriseId(); String wxEnterpriseId = entity.getWxEnterpriseId();
log.info("企微状态 ={},{}", wxEnterpriseId, entity.getStatusFlag()); List<TabHaobanWxEnterpriseRelated> list = this.wxEnterpriseRelatedMapper.listByWxenterpriseId(wxEnterpriseId);
if (entity.getStatusFlag() == 1) {
return ServiceResponse.success();
}
List<TabHaobanWxEnterpriseRelated> list = this.wxEnterpriseRelatedMapper.listByWxEnterpriseIdAndNoStatus(wxEnterpriseId);
if (CollectionUtils.isEmpty(list)) { if (CollectionUtils.isEmpty(list)) {
log.info("企微无关联gic商户,wxEnterpriseId={}",wxEnterpriseId);
return ServiceResponse.failure("1000", "无关联商户"); return ServiceResponse.failure("1000", "无关联商户");
} }
int count = list.size(); int count = list.size();
log.info("企微关联数={},{}", count, JSON.toJSONString(list)); log.info("企微关联数={},{}", count, JSON.toJSONString(list));
String msg = "好办服务已到期"; String msg = "好办服务已到期";
if (count == 1) { if (count == 1) {
/* List<EnterpriseUsingPermissionDto> enList = this.enterpriseUseForbidService.selectEnterprisePermissionByEnterpriseId(list.get(0).getEnterpriseId()) ; msg = this.getEndDate(list.get(0).getEnterpriseId()) ;
log.info("企微商户状态={}",JSON.toJSONString(list)); if(null != msg) {
if(CollectionUtils.isNotEmpty(list)) {
for(EnterpriseUsingPermissionDto dto : enList) {
if(null != dto.getRightMenuCode() && dto.getRightMenuCode().equals("haoban-3") && null != dto.getServiceEndDate()) {
msg = "好办服务已于"+DateUtil.dateToStr(dto.getServiceEndDate(), "yyyy-MM-dd")+"到期" ;
break ;
}
}
}*/
return ServiceResponse.failure("2000", msg); return ServiceResponse.failure("2000", msg);
}
} else { } else {
boolean flag = false ;
for(TabHaobanWxEnterpriseRelated item : list) {
boolean isStop = this.haobanIsStop(item.getEnterpriseId()) ;
if(!isStop) {
flag = true ;
}
}
if(!flag) {
return ServiceResponse.failure("3000", msg); return ServiceResponse.failure("3000", msg);
} }
} }
return ServiceResponse.success() ;
}
@Override @Override
public void update(WxEnterpriseDTO enterpriseDTO) { public void update(WxEnterpriseDTO enterpriseDTO) {
wxEnterpriseService.update(enterpriseDTO); wxEnterpriseService.update(enterpriseDTO);
} }
// 返回true说明已过期
@Override @Override
public boolean enterpriseIsOver(String enterpriseId) { public boolean enterpriseIsOver(String enterpriseId) {
/* try { return haobanIsStop(enterpriseId) ;
log.info("是否停用查询={}", enterpriseId);
Integer code = this.enterpriseUseForbidService.selectPermissionStatus(enterpriseId, "haoban-3");
log.info("是否停用={},{}", enterpriseId, code);
// 不能用
if (!(code == 0 || code == 1)) {
return true;
}
} catch (Exception e) {
e.printStackTrace();
}*/
EnterpriseDTO enterprise = enterpriseService.getEnterpriseById(enterpriseId);
if (enterprise == null || enterprise.getStatus() != 1) {
return true;
}
if (enterprise.getExpireTime() == null) {
if (enterprise.getEnabledState() == null) {
return false;
} else {
return enterprise.getEnabledState() != 1;
}
} else {
return enterprise.getExpireTime().getTime() <= System.currentTimeMillis()
|| enterprise.getEnabledState() != 1;
}
} }
@Override @Override
...@@ -475,6 +483,46 @@ public class WxEnterpriseApiServiceImpl implements WxEnterpriseApiService { ...@@ -475,6 +483,46 @@ public class WxEnterpriseApiServiceImpl implements WxEnterpriseApiService {
@Override @Override
public void stopHaoban(String enterpriseId) { public void stopHaoban(String enterpriseId) {
log.info("停用好办eid={}",enterpriseId);
this.wxEnterpriseService.stopHaoban(enterpriseId); this.wxEnterpriseService.stopHaoban(enterpriseId);
CommonMQDTO dto = new CommonMQDTO();
dto.setType(1);
Map<String,String> map = new HashMap<>() ;
map.put("enterpriseId", enterpriseId) ;
dto.setParams(map);
this.haobanCommonMQApiService.putCommonMessage(dto);
}
public boolean haobanIsStop(String eid) {
Integer code = this.enterpriseUseForbidService.selectPermissionStatus(eid,EnterpriseServiceEnum.HAO_BAN.getRightMenuCode()) ;
log.info("好办是否到期停用={},{}",eid,code);
if(code ==0 || code==1) {
ServiceResponse<EnterpriseUsingPermissionDto> resp = this.enterpriseUseForbidService.getPermisssionByCode(eid, EnterpriseServiceEnum.HAO_BAN.getRightMenuCode()) ;
log.info("返回权限信息={}",JSON.toJSONString(resp));
if(resp.isSuccess()) {
EnterpriseUsingPermissionDto dto = resp.getResult() ;
if(null != dto.getServiceEndDate() && dto.getServiceEndDate().before(new Date())) {
log.info("过期停用={}",eid);
return true ;
}
}
return false ;
}
return true ;
}
public String getEndDate(String enterpriseId) {
if(!haobanIsStop(enterpriseId)) {
return null ;
}
ServiceResponse<EnterpriseUsingPermissionDto> resp = this.enterpriseUseForbidService.getPermisssionByCode(enterpriseId, EnterpriseServiceEnum.HAO_BAN.getRightMenuCode()) ;
log.info("返回权限信息={}",JSON.toJSONString(resp));
if(resp.isSuccess()) {
EnterpriseUsingPermissionDto dto = resp.getResult() ;
if(null != dto.getServiceEndDate() && ( dto.getServiceEndDate().before(new Date()) || (dto.getStatus()!=0 && dto.getStatus()!=1)) ) {
return "好办服务已于"+DateUtil.dateToStr(dto.getServiceEndDate(), "yyyy-MM-dd")+"到期" ;
}
}
return "好办服务已到期" ;
} }
} }
...@@ -92,6 +92,9 @@ public class WxEnterpriseRelatedApiServiceImpl implements WxEnterpriseRelatedApi ...@@ -92,6 +92,9 @@ public class WxEnterpriseRelatedApiServiceImpl implements WxEnterpriseRelatedApi
@Override @Override
public EnterpriseDetailDTO getByEnterpriseId(String wxEnterpriseId, String enterpriseId) { public EnterpriseDetailDTO getByEnterpriseId(String wxEnterpriseId, String enterpriseId) {
TabHaobanWxEnterpriseRelated entity = wxEnterpriseRelatedService.getByEnterpriseId(wxEnterpriseId, enterpriseId); TabHaobanWxEnterpriseRelated entity = wxEnterpriseRelatedService.getByEnterpriseId(wxEnterpriseId, enterpriseId);
if(null == entity) {
return null ;
}
EnterpriseDetailDTO dto = EntityUtil.changeEntityByJSON(EnterpriseDetailDTO.class, entity); EnterpriseDetailDTO dto = EntityUtil.changeEntityByJSON(EnterpriseDetailDTO.class, entity);
return dto; return dto;
} }
...@@ -698,4 +701,9 @@ public class WxEnterpriseRelatedApiServiceImpl implements WxEnterpriseRelatedApi ...@@ -698,4 +701,9 @@ public class WxEnterpriseRelatedApiServiceImpl implements WxEnterpriseRelatedApi
enterpriseDetailDTO.setCustomerPhone(enterprise.getCustomerPhone()); enterpriseDetailDTO.setCustomerPhone(enterprise.getCustomerPhone());
return com.gic.api.base.commons.ServiceResponse.success(enterpriseDetailDTO); return com.gic.api.base.commons.ServiceResponse.success(enterpriseDetailDTO);
} }
@Override
public int getRelationCount(String enterpriseId) {
return this.wxEnterpriseRelatedService.getRelationCount(enterpriseId);
}
} }
...@@ -316,6 +316,9 @@ public class HmQrcodeApiServiceImpl implements HmQrcodeApiService { ...@@ -316,6 +316,9 @@ public class HmQrcodeApiServiceImpl implements HmQrcodeApiService {
return ServiceResponse.failure(Convert.toStr(HaoBanErrCodeCommon.ERR_8.getCode()), "该活码不存在"); return ServiceResponse.failure(Convert.toStr(HaoBanErrCodeCommon.ERR_8.getCode()), "该活码不存在");
} }
Integer hmType = hmQrcodeQDTO.getHmType(); Integer hmType = hmQrcodeQDTO.getHmType();
if (hmType == null) {
return ServiceResponse.failure(Convert.toStr(HaoBanErrCodeCommon.ERR_8.getCode()), "活码类型为空");
}
List<String> clerkIdList = setStoreClerk(hmQrcodeQDTO, wxEnterpriseId, hmId, hmType, false); List<String> clerkIdList = setStoreClerk(hmQrcodeQDTO, wxEnterpriseId, hmId, hmType, false);
if (CollectionUtils.isEmpty(clerkIdList)) { if (CollectionUtils.isEmpty(clerkIdList)) {
return ServiceResponse.failure(Convert.toStr(HaoBanErrCodeCommon.ERR_8.getCode()), "该导购已经生成过活码或未关联过好办"); return ServiceResponse.failure(Convert.toStr(HaoBanErrCodeCommon.ERR_8.getCode()), "该导购已经生成过活码或未关联过好办");
......
...@@ -131,7 +131,7 @@ ...@@ -131,7 +131,7 @@
timeout="10000"/> timeout="10000"/>
<dubbo:service interface="com.gic.haoban.manage.api.service.ValidationCodeApiService" ref="validationCodeApiServiceImpl"/> <dubbo:service interface="com.gic.haoban.manage.api.service.ValidationCodeApiService" ref="validationCodeApiServiceImpl"/>
<dubbo:reference interface="com.gic.enterprise.api.service.EnterpriseUseForbidService" id="enterpriseUseForbidService"/>
<dubbo:reference interface="com.gic.enterprise.api.service.DepartmentService" id="gicDepartmentService"/> <dubbo:reference interface="com.gic.enterprise.api.service.DepartmentService" id="gicDepartmentService"/>
<dubbo:reference interface="com.gic.wechat.api.service.qywx.QywxDepartmentApiService" <dubbo:reference interface="com.gic.wechat.api.service.qywx.QywxDepartmentApiService"
id="qywxDepartmentApiService"/> id="qywxDepartmentApiService"/>
...@@ -192,5 +192,6 @@ ...@@ -192,5 +192,6 @@
<dubbo:reference interface="com.gic.marketing.api.service.AccountOverdueSmsSendService" id="accountOverdueSmsSendService" timeout="10000" retries="0"/> <dubbo:reference interface="com.gic.marketing.api.service.AccountOverdueSmsSendService" id="accountOverdueSmsSendService" timeout="10000" retries="0"/>
<dubbo:reference interface="com.gic.thirdparty.api.service.VoiceService" id="voiceService" timeout="10000" retries="0"/> <dubbo:reference interface="com.gic.thirdparty.api.service.VoiceService" id="voiceService" timeout="10000" retries="0"/>
<dubbo:reference interface="com.gic.thirdparty.api.service.CommunicationService" id="communicationService" timeout="10000" retries="0"/> <dubbo:reference interface="com.gic.thirdparty.api.service.CommunicationService" id="communicationService" timeout="10000" retries="0"/>
<dubbo:reference interface="com.gic.member.api.service.MemberEntranceApiService" id="memberEntranceApiService" timeout="10000" retries="0"/>
</beans> </beans>
\ No newline at end of file
...@@ -186,4 +186,15 @@ ...@@ -186,4 +186,15 @@
and status_flag = 1 and status_flag = 1
</select> </select>
<select id="listByWxEnterpriseIdAndExternalUserId" resultMap="BaseResultMap">
select
external_userid, self_external_userid from tab_haoban_member_unionid_related
where wx_enterprise_id = #{wxEnterpriseId}
and external_userid in
<foreach collection="list" item="id" index="index" open="(" close=")" separator=",">
#{id,jdbcType=VARCHAR}
</foreach>
and status_flag = 1
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -26,16 +26,8 @@ ...@@ -26,16 +26,8 @@
overdue_time, invalid_time, store_id, clerk_id, finish_time, finish_flag, overdue_flag, overdue_time, invalid_time, store_id, clerk_id, finish_time, finish_flag, overdue_flag,
delete_flag, create_time, update_time delete_flag, create_time, update_time
</sql> </sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from tab_haoban_pending_task
where id = #{id,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
delete from tab_haoban_pending_task
where id = #{id,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="com.gic.haoban.manage.service.entity.TabPendingTask"> <insert id="insert" parameterType="com.gic.haoban.manage.service.entity.TabPendingTask">
insert into tab_haoban_pending_task (id, enterprise_id, relation_id, insert into tab_haoban_pending_task (id, enterprise_id, relation_id,
task_type, title, description, task_type, title, description,
...@@ -50,6 +42,7 @@ ...@@ -50,6 +42,7 @@
#{finishFlag,jdbcType=INTEGER}, #{overdueFlag,jdbcType=INTEGER}, #{deleteFlag,jdbcType=INTEGER}, #{finishFlag,jdbcType=INTEGER}, #{overdueFlag,jdbcType=INTEGER}, #{deleteFlag,jdbcType=INTEGER},
#{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}) #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP})
</insert> </insert>
<insert id="insertSelective" parameterType="com.gic.haoban.manage.service.entity.TabPendingTask"> <insert id="insertSelective" parameterType="com.gic.haoban.manage.service.entity.TabPendingTask">
insert into tab_haoban_pending_task insert into tab_haoban_pending_task
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
...@@ -222,27 +215,7 @@ ...@@ -222,27 +215,7 @@
</set> </set>
where id = #{id,jdbcType=INTEGER} where id = #{id,jdbcType=INTEGER}
</update> </update>
<update id="updateByPrimaryKey" parameterType="com.gic.haoban.manage.service.entity.TabPendingTask">
update tab_haoban_pending_task
set enterprise_id = #{enterpriseId,jdbcType=VARCHAR},
relation_id = #{relationId,jdbcType=VARCHAR},
business_id = #{businessId,jdbcType=VARCHAR},
task_type = #{taskType,jdbcType=INTEGER},
title = #{title,jdbcType=VARCHAR},
description = #{description,jdbcType=VARCHAR},
task_status_flag = #{taskStatusFlag,jdbcType=INTEGER},
overdue_time = #{overdueTime,jdbcType=TIMESTAMP},
invalid_time = #{invalidTime,jdbcType=TIMESTAMP},
store_id = #{storeId,jdbcType=VARCHAR},
clerk_id = #{clerkId,jdbcType=VARCHAR},
finish_time = #{finishTime,jdbcType=TIMESTAMP},
finish_flag = #{finishFlag,jdbcType=INTEGER},
overdue_flag = #{overdueFlag,jdbcType=INTEGER},
delete_flag = #{deleteFlag,jdbcType=INTEGER},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
where id = #{id,jdbcType=INTEGER}
</update>
<select id="getByRelationId" resultMap="BaseResultMap"> <select id="getByRelationId" resultMap="BaseResultMap">
select select
......
...@@ -16,16 +16,8 @@ ...@@ -16,16 +16,8 @@
clerk_main_store_related_id, staff_id, wx_enterprise_id, store_id, main_store_flag, fresh_friend_flag, clerk_main_store_related_id, staff_id, wx_enterprise_id, store_id, main_store_flag, fresh_friend_flag,
status_flag, create_time, update_time status_flag, create_time, update_time
</sql> </sql>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.String" >
select
<include refid="Base_Column_List" />
from tab_haoban_clerk_main_store_related
where clerk_main_store_related_id = #{clerkMainStoreRelatedId,jdbcType=VARCHAR}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.String" >
delete from tab_haoban_clerk_main_store_related
where clerk_main_store_related_id = #{clerkMainStoreRelatedId,jdbcType=VARCHAR}
</delete>
<insert id="insert" parameterType="com.gic.haoban.manage.service.entity.TabHaobanClerkMainStoreRelated" > <insert id="insert" parameterType="com.gic.haoban.manage.service.entity.TabHaobanClerkMainStoreRelated" >
insert into tab_haoban_clerk_main_store_related (clerk_main_store_related_id, staff_id, insert into tab_haoban_clerk_main_store_related (clerk_main_store_related_id, staff_id,
wx_enterprise_id, store_id, main_store_flag, fresh_friend_flag, wx_enterprise_id, store_id, main_store_flag, fresh_friend_flag,
...@@ -37,67 +29,7 @@ ...@@ -37,67 +29,7 @@
#{statusFlag,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP} #{statusFlag,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}
) )
</insert> </insert>
<insert id="insertSelective" parameterType="com.gic.haoban.manage.service.entity.TabHaobanClerkMainStoreRelated" >
insert into tab_haoban_clerk_main_store_related
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="clerkMainStoreRelatedId != null" >
clerk_main_store_related_id,
</if>
<if test="staffId != null" >
staff_id,
</if>
<if test="wxEnterpriseId != null" >
wx_enterprise_id,
</if>
<if test="storeId != null" >
store_id,
</if>
<if test="mainStoreFlag != null" >
main_store_flag,
</if>
<if test="freshFriendFlag != null">
fresh_friend_flag,
</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="clerkMainStoreRelatedId != null" >
#{clerkMainStoreRelatedId,jdbcType=VARCHAR},
</if>
<if test="staffId != null" >
#{staffId,jdbcType=VARCHAR},
</if>
<if test="wxEnterpriseId != null" >
#{wxEnterpriseId,jdbcType=VARCHAR},
</if>
<if test="storeId != null" >
#{storeId,jdbcType=VARCHAR},
</if>
<if test="mainStoreFlag != null" >
#{mainStoreFlag,jdbcType=INTEGER},
</if>
<if test="freshFriendFlag != null">
#{freshFriendFlag},
</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.TabHaobanClerkMainStoreRelated" > <update id="updateByPrimaryKeySelective" parameterType="com.gic.haoban.manage.service.entity.TabHaobanClerkMainStoreRelated" >
update tab_haoban_clerk_main_store_related update tab_haoban_clerk_main_store_related
<set > <set >
...@@ -128,18 +60,7 @@ ...@@ -128,18 +60,7 @@
</set> </set>
where clerk_main_store_related_id = #{clerkMainStoreRelatedId,jdbcType=VARCHAR} where clerk_main_store_related_id = #{clerkMainStoreRelatedId,jdbcType=VARCHAR}
</update> </update>
<update id="updateByPrimaryKey" parameterType="com.gic.haoban.manage.service.entity.TabHaobanClerkMainStoreRelated" >
update tab_haoban_clerk_main_store_related
set staff_id = #{staffId,jdbcType=VARCHAR},
wx_enterprise_id = #{wxEnterpriseId,jdbcType=VARCHAR},
store_id = #{storeId,jdbcType=VARCHAR},
main_store_flag = #{mainStoreFlag,jdbcType=INTEGER},
fresh_friend_flag = #{freshFriendFlag,jdbcType=INTEGER},
status_flag = #{statusFlag,jdbcType=INTEGER},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
where clerk_main_store_related_id = #{clerkMainStoreRelatedId,jdbcType=VARCHAR}
</update>
<select id="selectByWxEnterpriseIdAndStoreId" resultMap="BaseResultMap" parameterType="java.lang.String" > <select id="selectByWxEnterpriseIdAndStoreId" resultMap="BaseResultMap" parameterType="java.lang.String" >
select select
......
...@@ -652,6 +652,8 @@ ...@@ -652,6 +652,8 @@
</if> </if>
order by create_time desc limit 1 order by create_time desc limit 1
</select> </select>
<select id="countByMemberId" resultType="int"> <select id="countByMemberId" resultType="int">
select count(*) select count(*)
from tab_haoban_external_clerk_related from tab_haoban_external_clerk_related
...@@ -660,4 +662,19 @@ ...@@ -660,4 +662,19 @@
and status_flag = 1 and status_flag = 1
</select> </select>
<select id="listPageByWxenterpriseId" resultMap="BaseResultMap">
select DISTINCT(external_user_id) from tab_haoban_external_clerk_related where wx_enterprise_id = #{wxEnterpriseId} and status_flag = 1
limit ${startItem},${pageSize}
</select>
<select id="getByStoreIdAndStaffId" resultType="java.lang.String">
select member_id
from tab_haoban_external_clerk_related
where store_id = #{storeId,jdbcType=VARCHAR}
and staff_id = #{staffId}
and status_flag in (1, 3, 4)
</select>
</mapper> </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.TabHaobanRepairExternalUserMapper">
<resultMap type="com.gic.haoban.manage.service.entity.TabHaobanRepairExternalUser" id="result-map-tabHaobanRepairExternalUser">
<result column="id" property="id"/>
<result column="wx_enterprise_id" property="wxEnterpriseId"/>
<result column="user_id" property="userId"/>
<result column="new_user_id" property="newUserId"/>
<result column="status_flag" property="statusFlag"/>
<result column="remark" property="remark"/>
</resultMap>
<sql id="Base_Column_List">
wx_enterprise_id,
user_id,
new_user_id,
status_flag,
remark , self_user_id
</sql>
<insert id="batchInsert" parameterType="com.gic.haoban.manage.service.entity.TabHaobanRepairExternalUser">
INSERT INTO tab_haoban_repair_external_user(
id ,
wx_enterprise_id,
user_id,
new_user_id,
status_flag,
remark , self_user_id
)VALUES
<foreach collection= "list" item="item" separator=",">
( #{item.id} , #{item.wxEnterpriseId,jdbcType=CHAR},
#{item.userId,jdbcType=VARCHAR},
#{item.newUserId,jdbcType=VARCHAR},
#{item.statusFlag,jdbcType=INTEGER},
#{item.remark,jdbcType=VARCHAR} , #{item.selfUserId}
)
</foreach>
</insert>
<!-- ==================更新 ========== -->
<update id="updateByPrimaryKey" parameterType="tabHaobanRepairExternalUser">
<![CDATA[
UPDATE tab_haoban_repair_external_user SET
status_flag=#{statusFlag,jdbcType=INTEGER},
remark=#{remark,jdbcType=VARCHAR}
id = #{id}
]]>
</update>
<select id="listAll" parameterType="tabHaobanRepairExternalUser" resultMap="result-map-tabHaobanRepairExternalUser">
select * from tab_haoban_repair_external_user
</select>
</mapper>
\ No newline at end of file
...@@ -196,7 +196,8 @@ ...@@ -196,7 +196,8 @@
</select> </select>
<select id="getByClerkIdForWxUserId" resultType="com.gic.haoban.manage.api.dto.StaffClerkRelationDTO" parameterType="java.lang.String"> <select id="getByClerkIdForWxUserId" resultType="com.gic.haoban.manage.api.dto.StaffClerkRelationDTO"
parameterType="java.lang.String">
select select
a.staff_clerk_relation_id staffClerkRelationId, a.staff_clerk_relation_id staffClerkRelationId,
a.staff_id staffId, a.staff_id staffId,
...@@ -388,6 +389,7 @@ ...@@ -388,6 +389,7 @@
group by a.staff_id, a.clerk_id) as scr on scr.staff_id = ecr.staff_id group by a.staff_id, a.clerk_id) as scr on scr.staff_id = ecr.staff_id
where ecr.status_flag = 1 where ecr.status_flag = 1
and ecr.enterprise_id = #{enterpriseId,jdbcType=VARCHAR} and ecr.enterprise_id = #{enterpriseId,jdbcType=VARCHAR}
and ecr.wx_enterprise_id=#{wxEnterpriseId}
and ecr.member_id in and ecr.member_id in
<foreach collection="memberIdList" item="item" separator="," open="(" close=")"> <foreach collection="memberIdList" item="item" separator="," open="(" close=")">
#{item} #{item}
...@@ -534,4 +536,9 @@ ...@@ -534,4 +536,9 @@
#{id,jdbcType=VARCHAR} #{id,jdbcType=VARCHAR}
</foreach> </foreach>
</select> </select>
<update id="deleteByEnterpriseId">
update tab_haoban_staff_clerk_relation set status_flag = 0 , update_time=now() where enterprise_id = #{enterpriseId}
</update>
</mapper> </mapper>
\ No newline at end of file
import java.util.Arrays;
import java.util.List;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.gic.api.base.commons.Page; import com.gic.api.base.commons.Page;
import com.gic.api.base.commons.ServiceResponse; import com.gic.api.base.commons.ServiceResponse;
...@@ -7,25 +16,18 @@ import com.gic.haoban.manage.api.dto.hm.HmGroupQueryDTO; ...@@ -7,25 +16,18 @@ import com.gic.haoban.manage.api.dto.hm.HmGroupQueryDTO;
import com.gic.haoban.manage.api.dto.hm.HmPageDTO; import com.gic.haoban.manage.api.dto.hm.HmPageDTO;
import com.gic.haoban.manage.api.dto.hm.HmPageRelationDTO; import com.gic.haoban.manage.api.dto.hm.HmPageRelationDTO;
import com.gic.haoban.manage.api.dto.hm.HmWelcomeRelationDTO; import com.gic.haoban.manage.api.dto.hm.HmWelcomeRelationDTO;
import com.gic.haoban.manage.api.dto.qdto.hm.HmPageQDTO;
import com.gic.haoban.manage.api.dto.qdto.hm.HmPageRelationQDTO; import com.gic.haoban.manage.api.dto.qdto.hm.HmPageRelationQDTO;
import com.gic.haoban.manage.api.dto.welcome.qdto.QueryWelcomeRelationQDTO; import com.gic.haoban.manage.api.dto.welcome.qdto.QueryWelcomeRelationQDTO;
import com.gic.haoban.manage.api.enums.hm.HmWelcomeReferType; import com.gic.haoban.manage.api.enums.hm.HmWelcomeReferType;
import com.gic.haoban.manage.api.service.WxEnterpriseApiService;
import com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService; import com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService;
import com.gic.haoban.manage.api.service.hm.HmGroupApiService; import com.gic.haoban.manage.api.service.hm.HmGroupApiService;
import com.gic.haoban.manage.api.service.hm.HmPageApiService; import com.gic.haoban.manage.api.service.hm.HmPageApiService;
import com.gic.haoban.manage.api.service.hm.HmQrcodeApiService; import com.gic.haoban.manage.api.service.hm.HmQrcodeApiService;
import com.gic.haoban.manage.api.service.hm.HmWelcomeRelationApiService; import com.gic.haoban.manage.api.service.hm.HmWelcomeRelationApiService;
import com.gic.haoban.manage.service.pojo.bo.hm.HmWelcomeRelationBO; import com.gic.haoban.manage.service.pojo.bo.hm.HmWelcomeRelationBO;
import com.gic.haoban.manage.service.service.ExternalClerkRelatedService;
import com.gic.haoban.manage.service.service.hm.WelcomeRelationService; import com.gic.haoban.manage.service.service.hm.WelcomeRelationService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.util.Arrays;
import java.util.List;
@RunWith(SpringJUnit4ClassRunner.class) @RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:applicationContext-conf.xml"}) @ContextConfiguration(locations = {"classpath:applicationContext-conf.xml"})
...@@ -42,12 +44,20 @@ public class HmPageServiceTest { ...@@ -42,12 +44,20 @@ public class HmPageServiceTest {
@Autowired @Autowired
private HmWelcomeRelationApiService welcomeRelationApiService; private HmWelcomeRelationApiService welcomeRelationApiService;
@Autowired
private WxEnterpriseApiService wxEnterpriseApiService ;
@Autowired
private ExternalClerkRelatedService externalClerkRelatedService ;
@Test @Test
public void test(){ public void test(){
HmPageQDTO pageQDTO = new HmPageQDTO();
this.externalClerkRelatedService.repairExternalUserId("218a8a6c2ca14e28a1053f541be0e49d,ca66a01b79474c40b3e7c7f93daf1a3b");
// this.wxEnterpriseApiService.stopHaoban("ff80808182c3a46b0182c3a4ea7d0000");
/* HmPageQDTO pageQDTO = new HmPageQDTO();
pageQDTO.setPageSearchText("MB01419872763172380673"); pageQDTO.setPageSearchText("MB01419872763172380673");
ServiceResponse<Page<HmPageDTO>> pageServiceResponse = pageService.queryPageList(pageQDTO); ServiceResponse<Page<HmPageDTO>> pageServiceResponse = pageService.queryPageList(pageQDTO);*/
} }
......
import com.gic.haoban.manage.api.dto.qdto.hm.HmQrcodeQDTO; import com.gic.haoban.manage.api.dto.qdto.hm.HmQrcodeQDTO;
import com.gic.haoban.manage.api.service.ExternalClerkRelatedApiService;
import com.gic.haoban.manage.api.service.StaffApiService; import com.gic.haoban.manage.api.service.StaffApiService;
import com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService; import com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService;
import com.gic.haoban.manage.api.service.fee.HaobanQywxFeeApiService; import com.gic.haoban.manage.api.service.fee.HaobanQywxFeeApiService;
...@@ -13,7 +14,9 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -13,7 +14,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.List;
//import com.github.binarywang.java.emoji.EmojiConverter; //import com.github.binarywang.java.emoji.EmojiConverter;
...@@ -33,7 +36,7 @@ public class ServiceTest { ...@@ -33,7 +36,7 @@ public class ServiceTest {
private QywxSuiteApiService qywxSuiteApiService; private QywxSuiteApiService qywxSuiteApiService;
@Autowired @Autowired
private StaffApiService staffApiService; private ExternalClerkRelatedApiService externalClerkRelatedApiService;
@Autowired @Autowired
private HmQrcodeApiService hmQrcodeApiService; private HmQrcodeApiService hmQrcodeApiService;
...@@ -45,15 +48,15 @@ public class ServiceTest { ...@@ -45,15 +48,15 @@ public class ServiceTest {
@Test @Test
public void test() { public void test() {
HmQrcodeQDTO hmQrcodeQDTO = new HmQrcodeQDTO(); List<String> memberIdList = Arrays.asList("ff8080817e8ca826017eb3f97a8212d6","ff808081801926f801801c6cf1d531d5","ff8080818070b6fe01807453706d7a75","ff8080817e8ca790017ed7c0cbff7f1d","ff8080817e8ca790017ec95d9aaf5041","ff8080817e8ca790017ec82cee155e4e","ff80808176cea48f017705a9f05e5212","ff8080817e8ca790017ec8c0737e3c3d","ff8080817e8ca790017ed8e22ee91c14","ff8080818070b6fe0180751922bc618c","ff8080817e8ca790017ecdf4cccf1283","ff8080818070b6fe01807a4ce4310e18","ff8080818070b6fe018079e8a4a92cba","ff8080818070b6fe01807a57d36026a8","ff8080818070b6fe018079b7f82f20f2","ff8080817e8ca790017ee259594f4b2b","ff80808180bdf3ac0180c2461ec07503","ff8080817f9343b7017fa1fc7d9c77f3","ff80808180bdf3240180e01978ce09fd","ff80808180bdf3ac0180c1a248275a13","ff80808180bdf3240180e119b5020565","ff8080818070b6680180ac68deb64f0f","ff80808180bdf3ac0180d745c67a586f","ff80808180bdf3ac0180c19c6f0a4b0b","ff80808180bdf3240180e16d37f940b1","ff8080817f48cb75017f4e8a12726fff","ff80808180bdf3ac0180c270cad054fc","ff8080818070b6fe01807dc7dd1e53a4","ff8080817f48cc10017f4f7e7b9d304f","ff8080817f48cb75017f4e0c21ac7e8b","ff8080818070b6fe018078be69ff2bde","ff80808180bdf3ac0180dbbf1f2c47e6","ff80808180bdf3240180e0393b9c4adb","ff80808180bdf3ac0180c6f4c40d2f5d","ff8080818070b6680180b20d83c65745","ff8080817f9343b7017f97a32d747289","ff8080817f50ff14017f589d8d276c5b","ff80808180bdf3ac0180c21af0b815b3","ff80808180bdf3ac0180c6487a840a74","ff80808180bdf3240180e056ac502f04","ff80808180bdf3ac0180c666b6134763","ff8080817f48cc97017f4e71b5735099","ff80808180bdf3240180e0a345b01500","ff8080817f9343b7017f9769cff33534","ff80808180bdf3ac0180dbfc1e4923ef","ff80808180bdf3ac0180dfeba452220e","ff80808180bdf3240180db2003187cd7","ff80808180bdf3ac0180d1940f6c097f","ff80808180bdf3ac0180dfc06db95f26","ff8080818070b6fe0180792f04863797","ff8080817f48cb75017f49a5fa817ee3","ff8080817f50ff14017f584889c061f7","ff808081801926550180318eaf1a7dd6","ff8080817e8ca790017ec92a60e503fc","ff8080817e8ca790017ecda8b169111d","ff8080817e8ca790017ed84adaaa4003","ff808081801926f801802c0c8f1960ae","ff808081801926f801802c895b783792","ff8080818070b6fe01807477de085408","ff8080818070b6fe01807906391f4143","ff8080817e8ca790017ec42605c24eaf","ff8080818070b6fe01807923bd12188b","ff8080818070b6fe018078de95306f19","ff808081801926f801801c176f63238c","ff8080818070b6fe01807a860680155d","ff8080818070b6fe01807929baf72989","ff8080818070b6fe018079ed1af736b7","ff8080817e8ca826017ebe3c823c1019","ff8080817e8ca790017ebf54752a36c2","ff808081801926f8018021568c832ec1","ff80808180192655018035e2412e16de","ff80808180f185d401811ef7031f242d","ff80808180bdf3ac0180d6a17e644137","ff80808180bdf3240180eb05dfac225d","ff80808180f185d401810e88fb292cae","ff80808180bdf3240180ea59a2174b4a","ff80808180bdf3240180eac5258e67b4","ff80808180bdf3240180f0a57f8e6857","ff80808180bdf3240180e5e9dca07b5a","ff80808180bdf3240180e62a9cd115aa","ff8080818019265501803747a6103477","ff808081801926550180362035377ca3","ff80808180192655018031553d3d78f0","ff8080818019265501803205b982582e","ff808081801926550180319a64c71686","ff80808180192655018031edc1fd333d","ff8080817e8ca790017ee3c25b083417","ff808081762e54ce017632bbe2da2f9c","ff8080817e8ca790017ec8e2c86c7da4","ff8080818070b6fe018079ee74ea396e","ff8080817e8ca790017ebfd571562b33","ff808081801926f8018027fcc5f31d02","ff80808180192655018031ca4be173c7","ff8080818019265501803ce901db4092","ff808081801926550180310e45713db8","ff808081801926550180374d8adf3dff","ff8080817f9343b7017faca5299d61ad","ff8080817f9343b7017f9b6b4f9c2900","ff8080817e8ca790017ed763d659251c","ff8080817e8ca790017ed901b5484134","ff8080818070b6fe0180798ef13017e3","ff8080818070b6fe01807a4287ca73d0","ff8080817e8ca790017ee2cf88ca7e42","ff8080817e8ca790017ee2c12e9667aa","ff808081801926550180369ac576029c","ff8080817e8ca790017ec40640c81d2e","ff8080818019265501803688a844596d","ff8080817e8ca790017ed90591834696","ff808081753215f5017549e3626815df","ff8080817e8ca790017ebdfad3743800","ff8080817e8ca790017ed8ab10b54f6a","ff8080818070b6fe01807544c11206a7","ff8080818070b6fe01807583ff305763","ff80808174d550570174e83043f675b6","ff8080817e8ca826017ebea995335394","ff8080817e8ca790017edda87a40508d","ff8080817e8ca790017ec999e95d16e0","ff80808175bd062f0175c16577400151","ff8080818070b6fe01807857311d536d","ff8080818070b6fe01807ac056b30981","ff8080817e8ca790017ebea8f6e94d8c","ff8080817f9343b7017f97cfe7922649","ff8080818070b6680180b296fac7702b","ff8080817f9343b7017fa0afa61472e0","ff80808175321688017536921010240b","ff80808180bdf3ac0180c126dd901806","ff80808180f185d401810ab871c367f7","ff80808180bdf3ac0180c0c56bc524af","ff80808180bdf3240180e0ff8e975161","ff80808180f185d401810a8d20307a34","ff80808180f185d4018109d183c53710","ff80808176af037e0176c749503307dd","ff80808180bdf3ac0180c16fa331537b","ff80808180f185d4018118e7883842f0","ff80808180bdf3240180e66ec4bd2e07","ff80808180bdf3ac0180c1dbc29379c4","ff80808180bdf3240180eb955a116253","ff80808180bdf3ac0180c73237e93024","ff80808180bdf3ac0180c266eb413d28","ff8080818070b6680180a910bff9503a","ff80808180f185d401811daab1270820","ff80808180f185d401810416e20b6235","ff8080817fad19b1017fb5833369098f","ff8080817f9343b7017fa1577d9d39fc","ff80808180f185d4018118f0b7fc535e","ff80808180f185d401811eee2fa9114a","ff8080817e8ca790017ebf55402137a4","ff8080817e8ca826017eb927cd095ca1","ff8080817e8ca790017ec4dd3e4c1e61","ff808081801926f801801c97b5570b76","ff8080817e8ca790017ecd27e9e36277","ff808081801926f801801c65767621cd","ff808081801926550180377ac61b02d0","ff8080817e8ca790017ebebc755473c9","ff8080817e8ca790017ec3ed25406fb7","ff8080817e8ca790017ec2d7b780584d","ff80808174d54f3c01750c2e095b7701","ff8080818070b6fe018079b86fc3226b","ff8080817e8ca826017ebe058f8b48b8","ff80808180192655018031219b426cfd","ff80808180192655018031e2a72b1f1f","ff8080817e8ca790017edd73c3ac79b1","ff8080817e8ca826017ebf6190a44be8","ff8080817e8ca790017ec8d989316c92","ff8080817e8ca826017eb97f96a3702b","ff8080817e8ca790017ec2c127b843a9","ff8080818070b6fe01807ddb9cd305f6","ff80808176af037e0176c378303e7bb1","ff808081801926f80180222ed1c07da9","ff8080817f48cae8017f4f6888b8172c","ff8080818070b6680180a3977a3439b5","ff8080817f9343b7017f978186b34f1d","ff80808180bdf3240180e6202e007eff","ff80808180f185d401810ec7d08a574d","ff80808180bdf3ac0180c130c1d32fc0","ff80808180bdf3ac0180c2eb26d13fe9","ff80808180f185d401811f2c674c1f18","ff8080817f48cc97017f4f7144492412","ff80808180bdf3ac0180db1104554566","ff80808180bdf3240180e6702549313d","ff80808180bdf3240180e17406b6517c","ff80808180bdf3240180e169fe083771","ff80808180bdf3240180e68dcfe77abf","ff80808180bdf3240180e53ea5817fb1","ff80808180f185d4018119b4f4ee0f61","ff80808180bdf3240180f03916f74789","ff80808180bdf3ac0180d07767a84bff","ff8080817fad1a2f017fb174e1446fdd","ff80808180bdf3ac0180c1a628376503","ff8080818070b6fe018079d23eb37404","ff8080817f48cc97017f4ea817b0296d","ff80808180f185d4018113766a2b0e6c","ff80808180bdf3240180eb5989b86358","ff80808180bdf3240180ea76326b102f","ff80808180bdf3240180e4c845761007","ff80808180f185d4018109ac190945e4","ff8080817f9343b7017f9822dbd77691","ff80808180f185d40181054788f969d0","ff80808180bdf3ac0180c79521ce5eda","ff808081801926f801802c4f7fcf5cd7","ff80808180bdf3240180e9b76747061e","ff80808180bdf3240180eaddabe537d5","ff80808180bdf3240180e65fa90809cc","ff8080817f9343b7017fa194d61d41de","ff80808180f185d401811a13659d6382","ff8080818070b6680180b3157ab80f8f","ff8080817fad19b1017fba8337bb6cc7","ff80808180bdf3ac0180c271503f565a","ff80808180f185d401810a5feee90d76","ff80808180bdf3240180ea0dccc8363a","ff80808180bdf3ac0180c26cd2864c7f","ff80808180bdf3240180e5e0311c61b4","ff8080818070b6680180acb310285fab","ff80808180f185d401811e4f5b1c7ad8","ff80808180f185d401811e5bb0bc2d4b","ff80808180f185d401810890c1cd6052","ff80808180bdf3240180e5fbca1f2a48","ff80808180bdf3ac0180da4f92d5351d","ff80808180f185d401811e56f844215c","ff8080817fad1916017fb66bcfee4a1d","ff80808180bdf3240180eaf6821d7a60","ff8080818070b6680180a7695f2f29f2","ff8080817fad1a2f017fb5e5934d14e0","ff80808180bdf3240180e6b24f455444","ff80808180f185d4018105b6e6953a05","ff8080817f50ff14017f580d51773be4","ff80808180bdf3ac0180c065a6a56b8e","ff80808180bdf3ac0180dfc51c7d657e","ff8080817f9343b7017f97f1c3694e0b","ff8080817f9343b7017fabbf9ee00175","ff80808180bdf3ac0180c776e562298d","ff80808180bdf3ac0180c12fcf422de3","ff80808180f185d401810fb2c2e82cb7","ff80808180f185d401810ef417eb5ae4","ff80808180bdf3ac0180c5d9694442a5","ff80808180f185d40181055e785313f0","ff80808180bdf3240180e16351f127a1","ff8080817f50ff14017f585afe747b06","ff80808180bdf3240180ea78bb8816b3","ff8080818070b6fe01807f1bf8aa2f6d","ff8080818070b6680180a86368580669","ff80808180f185d401810a2d651b1ee2","ff80808180bdf3240180f0d48876383c","ff8080817f9343b7017f97188bfd5057","ff8080818070b6fe0180791d7b1904b2","ff808081801926f8018026685c9a60c2","ff80808180192655018035f81124387a","ff8080817e8ca826017eb96f5d72540f","ff8080817e8ca826017eb35365ce52f6","ff808081801926f801801cb632d853ad","ff808081801926f8018027f432470fca","ff8080818070b6fe018078cf54844a84","ff80808180bdf3240180ea93272b5c6e","ff80808180f185d40181149e1d9b1c5b","ff80808174d54fce0174e7e9d4e50085","ff80808180bdf3ac0180dba76ed51ebb","ff80808180bdf3ac0180ccbeb5695d6f","ff80808180f185d401810f1b9dec4d98","ff808081811f999801811fb26ce10ed3","ff80808180bdf3ac0180dffade5a3e86","ff80808180bdf3240180e53bcaf17953","ff80808176cea25e0176e60c49bd4a67","ff80808180f185d4018109c2246c0f61","ff80808180bdf3ac0180db8c153c6f22","ff8080817f50ff14017f59037d266632","ff80808180f185d401811a5f9f5f061d","ff80808180bdf3240180db4047693bd2","ff8080818070b6680180b2307258265d","ff80808180bdf3ac0180cbd752241989","ff8080818070b6680180b201c5f14448","ff80808180f185d401811eb94c481ee6","ff8080817fad1a2f017fb608bb55447a","ff8080817f9343b7017f9cf016941aa3","ff80808180f185d401810ac67968096e","ff80808180bdf3240180e5b8f95770d8","ff808081801926f8018022259bfe6714","ff8080817f48cb75017f49a491e77c49","ff8080818070b6fe01807dea5a8828c1","ff8080818070b6fe01807e84d8c93361","ff8080818019265501803135a52f1b78","ff80808180192655018031a533d72e0f","ff8080817f48cc97017f4e4e84c35c16","ff8080818019265501803b54319c1111","ff808081801926f8018020fe18852b40","ff80808180bdf3240180dbcfc1145ca4","ff80808180bdf3ac0180d66729665d19","ff80808180bdf3240180ea8b34c34558","ff8080817f9343b7017f9744eb1a0684","ff80808180bdf3ac0180c0fae2c2781a","ff8080817f9343b7017fa12c826662f6","ff8080818070b6680180a803d3a104a4","ff80808180bdf3ac0180c2598f141d95","ff80808180bdf3240180dc7d638039c4","ff8080817f9343b7017fa1436bc3108f","ff80808180f185d401811e4fa1f07c2f","ff8080817fad19b1017fbba362742931","ff80808180bdf3ac0180c298bbd525a8","ff80808180f185d401810e7b7a250993","ff80808180bdf3ac0180c6b78cb013f2","ff80808180bdf3240180e04313036198","ff80808180bdf3ac0180d0eb2dc6665a","ff8080818070b6680180b171d0077129","ff80808180f185d401811f5d298d1513","ff80808180f185d40181097c4b6c4743","ff8080818070b6680180ac5e1e1e43b3","ff80808180f185d401810f42a80b2ba2","ff80808180f185d4018109091bc34d83","ff80808180bdf3240180dc54f5227acb","ff80808180bdf3ac0180c670015d5c2b","ff8080817fad1a2f017fb07d0ed821e4","ff8080817f48cae8017f4f0177113cd5","ff80808180bdf3240180e0081b095c12","ff80808180bdf3240180ea3b96af0b35","ff8080817f50ff14017f592163f733e0","ff80808180bdf3ac0180dc4b22e464ee","ff8080817e8ca790017ebe67b9355027","ff80808180f185d401810ee4436b2d79","ff80808180bdf3ac0180c17db3be79e0","ff80808180bdf3ac0180cbac80545f2a","ff8080818070b6680180aca1cb4e44b0","ff80808180bdf3240180eb68f6eb0439","ff80808180bdf3240180dc4a40d16483","ff80808180bdf3240180ea3cc7c10d72","ff80808180bdf3240180e61dcbd8797c","ff80808180f185d401810f6b9ef1098d","ff80808180bdf3ac0180d624fa345fb1","ff80808180f185d401810e40ce22035e","ff80808180bdf3240180e531cc6263ae","ff80808180bdf3240180e4bd61727a8d","ff80808180bdf3240180e06ecd183f3d","ff8080817fad1a2f017faffe062570b1","ff8080817fad1916017fb0ecc7d45332","ff8080817f48cc97017f4e5de19700dc","ff8080817f48cb75017f4edf1817792d","ff8080817f48cb75017f4eb1016c2d47","ff8080817f48cae8017f4f7c969e3c0d","ff80808180f185d401810fc8b2c45e09","ff80808180bdf3240180f11747bf13c4","ff80808180f185d401810a1cafe779d7","ff8080817fad1a2f017fb58470d31038","ff8080817f9343b7017fab7d054c20e8","ff80808175bd05a70175cb357da17413","ff80808180bdf3ac0180c66453d9426e","ff8080818070b6680180a84e528871a2","ff8080817f48cb75017f4a1d0e2e4be0","ff80808180bdf3ac0180d758d6c27d54","ff80808180bdf3240180ea3d1be30e13","ff80808180bdf3240180e0e223061c09","ff80808180bdf3240180e9e8aa4971ac","ff80808180f185d401811d802b6138c6","ff80808180f185d4018119ee19750326","ff80808180f185d401810acc6d041668","ff80808180bdf3ac0180d02e1ee77d59","ff80808180f185d401810a4303084da7","ff8080817fad1a2f017fb13271923196","ff8080817f9343b7017fa6b109cb6797","ff8080818070b6680180a381d5dd0e54","ff80808180bdf3ac0180cb44cae66931","ff80808180bdf3ac0180c11687687277","ff8080817f48cc10017f4faa931b6e9b","ff80808180bdf3ac0180c58951d60853","ff80808180f185d401810a572d2e7965","ff80808180bdf3240180eb569a685dfd","ff80808176cea25e017709e6ea4c1f23","ff8080817fad1a2f017fbb3543e1235e","ff80808180bdf3240180e6152a9c66cb","ff8080818070b6680180a73fadb0629c","ff8080818070b6680180a32fd9a279aa","ff80808180f185d4018108ea208e1289","ff80808180bdf3240180eff6a3d04fee","ff80808180bdf3ac0180daa5a06a36fd","ff80808180f185d401811f336b8d3143","ff80808180bdf3240180dc27eec10fff","ff80808180f185d401811d9f4d12739c","ff80808180bdf3ac0180c1aa63e47020","ff80808180bdf3240180ebe0a9e77a8d","ff80808180bdf3240180eaaf04262995","ff80808180bdf3ac0180c04f63404598","ff80808180bdf3240180eaf5a724780d","ff80808180bdf3ac0180c071cd1d0468","ff80808180f185d401810a6e73022e6e","ff80808180f185d40181098590e95d3b","ff8080818070b6680180b137501d617b","ff80808180f185d401810ef21b5f5502","ff80808180f185d4018113c2d4583186","ff80808180192655018030f318900901","ff8080817e8ca790017ed89a5e703946","ff80808180192655018031f947e74552","ff808081801926f801801ce631374f3d","ff808081801926f801802c08cb3f5b5a","ff8080818070b6fe01807528d3a8266b","ff8080817e8ca790017eddace6b256fb","ff80808180192655018031d0144f7e1d","ff8080818070b6fe0180753b1bcb6b3e","ff8080817e8ca790017ec8b717542b56","ff8080817e8ca790017ec3f35cda7b83","ff8080817e8ca790017ec86297a620d3","ff80808180192655018031ddb6f51754","ff8080818070b6fe0180757556cd3739","ff8080817e8ca790017ec92ea35f0a8b","ff8080817e8ca790017eddd848bf14d2","ff8080817f48cb75017f49972329621e","ff8080817e8ca790017ec2ad904a32ae","ff8080818070b6fe01807f238ea74177","ff8080817f48cc97017f4aa1556e1179","ff8080817f48cb75017f4a43dbc50705","ff8080817f48cc10017f4f5a11be7721","ff8080817f50ff14017f581ca63c085c","ff80808180bdf3ac0180c0f1e4486898","ff80808180f185d4018109def68b5c5d","ff808081745486b1017494256f077541","ff80808180f185d401810442509826f0","ff8080817f9343b7017fa6bafbca7693","ff8080818070b6680180a8da09a9167b","ff80808180bdf3240180ee98b6746761","ff8080817fad1916017fbbc948995552","ff80808180bdf3ac0180c100da890559","ff80808180bdf3ac0180dbae5e3228b2","ff80808180f185d4018118b0adf949a2","ff80808180f185d401811e6a9e6d589c","ff80808180bdf3240180e1630bed26f5","ff80808180bdf3ac0180c658fcca2c2b","ff80808180bdf3240180e1a1e39740ba","ff80808180f185d401810a92df4b0953","ff80808180bdf3ac0180cbbd4ccd2e29","ff80808180f185d401811e402e004258","ff80808180f185d401810a74cd243e48","ff80808180f185d401810db2328d66e5","ff80808180f185d401811f5ee76c19a4","ff80808180f185d401811e0de0b7744c","ff8080817e8ca790017ed85b60f95a09","ff808081801926f801801c8593165aee","ff8080818070b6fe01807edc953076d8","ff8080818070b6fe01807e45a91459d0","ff8080817f48cc97017f4e7a79b25f66","ff80808180bdf3240180f022b7511084","ff80808180f185d4018109fcb6ea2df0","ff8080818070b6680180a6e0a8d8753e","ff80808180bdf3240180e46147674a6d","ff80808180f185d401810abe90cb766a","ff80808180bdf3ac0180c62bbd7454bf","ff80808180f185d401811f59d8ea0dc8","ff80808180bdf3ac0180dfb0eef34098","ff80808180bdf3240180e1a8eae54fe8","ff80808180bdf3240180df74a46d1103","ff8080817fad19b1017fb1a8e82f1fe3","ff80808180bdf3ac0180c79e05ab6f85","ff80808180f185d4018114af0fd43cb4","ff80808180bdf3ac0180d058bff12b1b","ff80808180bdf3240180ef25a41e317c","ff80808180f185d401811e20dad32cac","ff80808180f185d40181199b3bd562cd","ff80808180bdf3240180e5e582f36f3b","ff8080817f9343b7017f96b77a284057","ff80808180bdf3240180e5fdae3f2f6e","ff80808180bdf3ac0180cbac328e5eb5","ff8080818070b6680180adb3519a396b","ff8080817f9343b7017fa69b3e2e48de","ff8080817f50ff14017f58f0af483477","ff80808180bdf3ac0180c0d1953136ea","ff80808180bdf3240180e5350ad46b20","ff80808180f185d401811dcb310948b3","ff80808180bdf3240180eb252d9874c9","ff80808180bdf3240180e5cce4db2a7d","ff80808180bdf3240180e0db05830ff7","ff80808180bdf3240180dba6e9c21edf","ff80808180f185d401811a4e76ec6b3d","ff80808180f185d401811d21e0c55c47","ff8080817f48cc97017f4a7221ec4fbc","ff8080817e8ca826017eb50f0e1c429e","ff8080817e8ca790017ed823cb1106f7","ff8080817f48cc10017f4fa5a5076617","ff80808180bdf3240180e496a14b2a37","ff80808180bdf3ac0180c244af9371b9","ff8080817f48cc97017f4f15d675733f","ff80808180f185d4018114bd47755513","ff80808180f185d401810e1d3b3e3f06","ff80808180bdf3240180e0c2d41d5a70","ff80808180bdf3ac0180cb08c37e2192","ff8080817f9343b7017f973845ee73b3","ff80808180bdf3ac0180cb636f6d1122","ff80808180f185d401810ad322462594","ff80808180f185d4018118ce8d840dac","ff80808180f185d401810972adc33019","ff8080817f48cc10017f4e06affd0127","ff8080817f9343b7017fa0e2a9ea4ee9","ff80808180bdf3240180ea38576904db","ff80808180bdf3240180eacc53877d3b","ff80808180bdf3240180e02acc4d2ad7","ff80808180f185d4018109cc522a28ff","ff80808180bdf3240180eb311ef90f13","ff80808180bdf3240180eebf6edc0a64","ff80808180bdf3240180df3b45e869c8","ff80808174d550e50174fd01efbf0c62","ff80808180f185d4018113a16db54fad","ff80808180f185d401810a7bc4b75084","ff80808180f185d4018108fdd8ff397c","ff8080817f9343b7017fac25d88d700d","ff8080818070b6fe01807f1cbcc23148","ff80808180f185d401810984aec75b1d","ff80808180f185d401810f33f93909fc","ff80808180bdf3240180eaf794147d3a","ff80808180f185d40181191818e43318","ff80808180f185d401811f507a6b77cb","ff8080817f9343b7017fa18068020c1e","ff8080818070b6680180a8ae0f295b9e","ff80808180f185d401810927725e05aa","ff8080817f48cc10017f4f002b6030be","ff80808180f185d4018119ad5489031e","ff80808180bdf3240180e5dcff0f591d","ff80808180f185d401810952662b5f70","ff80808180bdf3240180e59b4af11e25","ff80808176cea401017700c9e4962c55","ff80808180bdf3240180eab9636b4580","ff80808180f185d4018114289f5057a3","ff80808180bdf3240180eb7f65f132e4","ff80808180f185d401811e21c4d4308c","ff80808180f185d401811857aea028a9","ff80808180f185d401811dd98cea755d","ff80808180bdf3ac0180df7beefb2962","ff808081767149680176941323ba7ead","ff80808180f185d401811a1f367a0115","ff8080817f9343b7017fa5b7609f398d","ff8080817f9343b7017f97cb00ef207a","ff80808180f185d401810f12c5e63526","ff80808180f185d4018114a4f5272826","ff80808180bdf3ac0180cad7bee95451","ff8080817fad1916017fb688b8cd6439","ff80808180f185d401810dd8c81e37cb","ff80808180f185d4018109645b000d17","ff80808180f185d401810ade267a3918","ff80808180bdf3ac0180dc43bba35761","ff8080817e8ca790017ebedb04ce2844","ff80808180f185d401811e86cc4c2ce7","ff8080817f9343b7017fa6294a7b7a88","ff80808180f185d401810a2394d20a65","ff80808180f185d40181098e1add73d7","ff80808180bdf3ac0180c21a0e0f1394","ff80808180bdf3240180e60a780c4e4e","ff80808180bdf3ac0180c1366fec3d66","ff80808180f185d401810944b0a140cf","ff80808180f185d401810ee64fbc3426","ff80808180f185d401810f2608906914","ff80808176cea48f01770fe0ff6c15d1","ff80808180f185d40181095b868f741f","ff80808180f185d40181095b00cb72cf","ff80808180f185d4018103c697500554","ff80808180f185d401811962834b69bc","ff80808180f185d401811d620df07238","ff8080818070b6fe01807ecacac43863","ff8080817f48cb75017f4a79a7325024","ff8080817f48cb75017f49a0c74a74bb","ff80808176cea2e8017714afd1c90537","ff8080817e8ca790017ec98e807f082b","ff80808180bdf3ac0180c076ac850dea","ff80808180bdf3ac0180c7c08ec12a80","ff80808180f185d401811dc512ac3ad6","ff80808180bdf3ac0180c15e4f2b2396","ff80808180bdf3240180ef45c7235023","ff80808180f185d40181147388d25e64","ff80808180f185d40181182dff036d83","ff80808180bdf3240180ef955e8f6e53","ff80808180f185d4018103b41ca512ea","ff80808180bdf3ac0180c1e876031902","ff80808180f185d401811d6d63b00cf1","ff8080817fad19b1017fb63dde7d0f3a","ff80808180bdf3ac0180c19ab0fd471a","ff80808180f185d40181042c630401b7","ff80808180f185d401810550a9887a62","ff8080817f9343b7017faca823686368","ff80808180f185d401811ea8dedc3884","ff80808180bdf3240180e1262e1b1bbd","ff80808180f185d401811f22a4d209f1","ff80808180f185d40181184be3c419de","ff80808180f185d401811e44b53f4f81","ff80808180f185d401810e4806471218","ff80808180f185d4018103e84a2f18e5","ff80808180bdf3ac0180c22fecf4474b","ff80808180f185d4018113ee10973491","ff80808180bdf3240180e66f52732f43","ff80808180bdf3240180e66bf8ce2693","ff80808180bdf3ac0180dbae30162854","ff80808180bdf3240180eada4da92ec0","ff80808180bdf3ac0180dfe3e261145a","ff80808180bdf3ac0180cb7b1030490e","ff80808180bdf3ac0180d05a8d762d18","ff8080818070b6680180acf2bf31547a","ff80808180f185d401810e1044c228a3","ff80808180bdf3240180ebb0e8d81e3c","ff80808180bdf3240180eb718f311565","ff80808180bdf3240180e6db512a2299","ff80808180f185d401810effa92c7c5e","ff80808180bdf3ac0180c220a19621a6","ff80808180f185d401810ab51cfb6009","ff80808180f185d40181048890f94735","ff80808180bdf3240180e5b83cc26ee9","ff80808180bdf3240180e1239cee16f4","ff80808180f185d4018103f423e12abd","ff80808180f185d401811ee953b607a1","ff80808180f185d40181188dbe7f7418","ff80808180f185d401811f58aff40afe","ff80808180bdf3240180dade7d404747","ff80808180bdf3240180eba358f700cd","ff80808180bdf3240180efce1d194f26","ff80808180f185d401811f1328b3653e","ff80808180f185d4018113e64cd626a8","ff80808180bdf3240180eb2f75120b66","ff80808180bdf3ac0180c6f335c12bb7","ff80808180bdf3240180ef06482f0a97","ff80808180f185d4018119598c6d55d9","ff80808180f185d40181055bc6780eb0","ff80808180bdf3240180e1199630050b","ff80808180f185d401810b03bc8e6a59","ff8080817f48cae8017f4fd2269a3c53","ff8080817f48cb75017f4fd8c9a838d4","ff80808176af025a0176c267f6070454","ff8080817f48cae8017f4fd8e0854718","ff80808180bdf3240180e53c7f287ae4","ff80808180f185d4018104f83cec666b","ff80808180bdf3240180eb7a159326f6","ff80808180bdf3240180e6427c2a47ee","ff80808180f185d401810ef4d41c5d2b","ff80808180f185d4018118c7e59a0327","ff80808180f185d401810ec864e55874","ff80808176af037e0176cc6c341e7f0d","ff80808180bdf3240180ea7280c9063f","ff8080818070b6680180a39d8ea945e9","ff8080817fad19b1017fb1bea0c13165","ff8080817e8ca790017ee333f2ca7c48","ff8080818070b6680180a3a562bb556b","ff80808180bdf3240180eaf7aba57d92","ff80808180f185d401810a9df38d268a","ff8080817e8ca790017edcc25b4a14d0","ff80808180bdf3240180e0b60db33be2","ff80808180bdf3ac0180c5bdbd127708","ff8080817fad19b1017fb050ae5456ae","ff8080817f9343b7017fa153c38631f3","ff80808180bdf3240180e1a9b5725121","ff80808180f185d401810ab402fc5d83","ff80808180f185d40181195bbfe65ba7","ff80808180bdf3240180e165ac6f2d5e","ff80808180f185d4018119506af93fa6","ff80808180bdf3240180e10049485328","ff80808180f185d401811d5a49c36380","ff80808180bdf3240180db6071671228","ff8080818070b6680180adec9d117a1a","ff80808180f185d401810a02a2343d38","ff80808180bdf3240180e9c3f8bb21c7","ff80808180bdf3ac0180c271403d5631","ff80808180bdf3ac0180d6fc02f64d40","ff80808180bdf3ac0180c266e3da3d11","ff80808180bdf3240180ebdc4c6e73d3","ff80808180bdf3ac0180c5c80445245f","ff80808180bdf3ac0180c08b761738de","ff80808180bdf3240180e1d34c6a1fc8","ff80808180bdf3240180eb3f827f2e8e","ff8080817f48cb75017f4edf36b2794d","ff80808180bdf3240180e9ff2f731bd7","ff80808180f185d401811d8a924f4c4d","ff80808180bdf3240180dc2211216f1b","ff80808180bdf3ac0180d0ecf35d68d5","ff8080817f9343b7017fab75951d1765","ff80808180f185d401810ea2efd3724a","ff8080817f50ff14017f58e68c77187a","ff80808180f185d40181191dd8583eff","ff8080817f9343b7017fa5ee81080cfd","ff80808180f185d401811df0acee3147","ff80808180f185d401810a54dad3741b","ff80808180f185d40181059928da0700","ff80808180f185d40181052d3c3a3cb7","ff80808180f185d401811d8ff5805636","ff80808180bdf3240180dbf93f041e86","ff80808180bdf3240180dbfff6b92af4","ff8080817f9343b7017fa60d1cb644fb","ff80808180bdf3ac0180c6d45cf15ded","ff80808180f185d4018118c1d0f570ed","ff80808180bdf3240180dc5421b3792a","ff8080817fad1916017fb6854b4a6145","ff8080818070b6680180a339a9dc0ab1","ff8080817e8ca826017eba3a11fb5f4d","ff80808180f185d401810f8517224503","ff80808180bdf3240180e51fe6503df8","ff80808180bdf3ac0180c155e2ac0d26","ff80808180bdf3240180ebc0239c3dc9","ff80808180bdf3ac0180c25347bf111b","ff8080817f50ff14017f53aef7ed448a","ff80808180bdf3240180f04f4575552d","ff80808180f185d4018109323bee1b0c","ff8080817f9343b7017fa25aaa5214d1","ff80808180f185d4018104cff2b61538","ff80808180f185d4018104d359e11ae2","ff8080817f48cc10017f4f9b649e5769","ff80808180bdf3240180e52107624052","ff8080817550da180175985bdf8a63a3","ff80808180f185d401810aa5701638b2","ff80808180f185d401810ab422a85dcb","ff8080817f48cb75017f4e45b85c457f","ff80808180f185d401810a4154a149ec","ff80808180f185d401810f48cec93977","ff80808180bdf3240180db49f0c9597e","ff8080817f9343b7017fa6bb8abf779e","ff80808180f185d401811a24f5770d64","ff8080817fad19b1017fbae679f81c0c","ff80808180bdf3240180dc1ceac665b5","ff8080817f9343b7017fa58152d1704c","ff80808180bdf3ac0180c78b79ee4c92","ff80808180bdf3ac0180c569db5021bc","ff8080817f9343b7017f96e5e9c0187e","ff80808180bdf3240180dff4052f2e96","ff80808180bdf3240180e06e4fdb3d28","ff80808180bdf3240180dffdb84a4290","ff80808180bdf3ac0180e01b6cff1097","ff8080818070b6680180add623f55f99","ff80808180bdf3240180e5bfcdcd047e","ff8080817f48cc10017f495510ac6f82","ff80808180bdf3ac0180c0ae92c87d97","ff8080817e8ca790017ec3a601266920","ff80808180bdf3ac0180c260ae4d2fde","ff8080817f48cae8017f4f6d62202349","ff80808180bdf3ac0180dc3f94254fca","ff80808180f185d401811edae93569a0","ff80808180bdf3240180daec39195ffc","ff80808180bdf3ac0180cc25e6e61276","ff80808180bdf3240180dff5bb8731eb","ff80808180bdf3240180e58f44867d6a","ff80808180f185d401810f231d146128","ff80808180f185d4018105ac55f0298f","ff80808180bdf3240180e6456aca4e7f","ff8080818070b6680180a35f1c914cf7","ff80808180bdf3240180dfe1ee6f0e52","ff80808180f185d401810f6039e47191","ff80808180bdf3ac0180dfa0a00825fa","ff80808176af02e80176b7ace68b76c5","ff80808180bdf3ac0180d7238bf3141a","ff80808180bdf3240180dfc1b6255df5","ff80808176cea25e0176e53daf6363a4","ff80808180bdf3ac0180c77c01273262","ff80808180bdf3ac0180d2092bbf5be5","ff80808180f185d401810ec2e8c54948","ff8080817fad1916017fba667a5c1851","ff80808180f185d4018109f8f084235c","ff80808180f185d4018113ce7dd074e1","ff8080817e8ca826017ea9b8f2172cb7","ff8080817f48cc10017f4ff9eef06506","ff80808180f185d401811d92c5165b41","ff8080818070b6680180a3afd21c688d","ff8080817f9343b7017f97ca35651f82","ff808081801926f8018027748b296ce9","ff80808180f185d401810e3ff34201ed","ff80808180f185d401811d9f2daa7355","ff80808180bdf3240180ead24ac618be","ff8080817f9343b7017fa14b768720fe","ff80808180f185d401810524ed083014","ff80808180bdf3240180e6a5b1923637","ff80808180f185d401810a93931b0b55","ff8080818070b6680180acfd38af627c","ff80808180bdf3240180e58c330d7522","ff80808180f185d401811e185c9b1035","ff80808180f185d401811d3d1304273d","ff80808180f185d401811ec007e8353c","ff8080817fad1a2f017fbb83030b0cbf","ff80808180bdf3ac0180c6894d591d31","ff80808180bdf3ac0180dc8a69684a35","ff80808180bdf3240180e517273d29b5","ff80808180f185d40181194470fc26cb","ff80808180bdf3ac0180cb53e47b7b8c","ff80808180f185d401810e146d272fa1","ff80808180f185d40181047b67f72f15","ff80808180f185d4018104e9e92543bc","ff80808180bdf3240180dc7f62733c2d","ff80808180bdf3240180e19eac2a39ba","ff8080817fad19b1017fb014d4800e12","ff80808176af02e80176c742b3ca149b","ff80808180f185d401810eee6d1b49e3","ff80808180f185d401810996e2ae0b29","ff80808180f185d401811821a16c3332","ff80808180bdf3240180dc18940c5c50","ff80808180f185d401810e0dcc9b247e","ff8080817f9343b7017fa03eefd46311","ff80808180f185d401811818d8e3067e","ff80808180f185d40181040ca2784f6f","ff8080818070b6680180ad34dc452a8e","ff8080817f48cc97017f4eb6e2af3d89","ff80808180bdf3ac0180e00bf4bd6685","ff80808180f185d401810f434bbc2d14","ff80808180f185d401810926f68a04c6","ff80808180f185d401810a81048e5cfd","ff80808180bdf3240180e491d95720af","ff80808180f185d401810a1f37a10007","ff80808180bdf3240180e9db25d6556a","ff80808180bdf3240180e58fd1337eef","ff808081811f999801811fa65f3b0754","ff80808180bdf3240180e0fbb40e4963","ff80808180f185d401811dd45d3862fa","ff80808180f185d401810413d4085cbf","ff80808180f185d4018109bbb3547d6e","ff8080817f9343b7017f9c612f2d5193","ff80808180bdf3ac0180dc3ab6674797","ff80808180bdf3ac0180d5c0a99c236b","ff80808180f185d4018112ef7fb234eb","ff80808180bdf3240180e67ceaf150a2","ff8080818070b6680180b28b870d645f","ff8080818070b6680180ac72bc38762b","ff80808180bdf3240180ebc072753e8f","ff80808180f185d401811ce3ace263a2","ff80808180bdf3240180f11523e4113b","ff80808180bdf3240180e0f4f0cc3dd5","ff80808180bdf3ac0180dbdcda837441","ff80808180bdf3240180e58b09a071c9","ff80808180bdf3240180eff6ab615005","ff80808180f185d401810ec2c1fd48d0","ff80808180f185d401811f329f9f2ea3","ff80808180f185d401811e88dfd733ca","ff80808180f185d40181053c082d556a","ff80808180bdf3ac0180cc56d04d5dad","ff80808180bdf3240180e0352e9d424b","ff8080817f9343b7017f9c66841d5811","ff80808180f185d4018109d471633f65") ;
hmQrcodeQDTO.setHmType(1);
hmQrcodeQDTO.setWxEnterpriseId("ca66a01b79474c40b3e7c7f93daf1a3b"); List<String> clerkIdList= Arrays.asList("d4536d11274c4dc3a704c960ba02aaa9","f936be255e954c87b759d1f131dfd75e","7f9503741e0943009cf8fb0afe1358a4","d8f16b50c30b4c3fbc11147378fc8d9a","f81573e89ed7452eaa7650eee6b5c96e","d8f16b50c30b4c3fbc11147378fc8d9a","125d5d4ca74247bda905502bb742026f","f81573e89ed7452eaa7650eee6b5c96e","cf36d36f874643c79133049cb4474ff1","ec390c73fb8140cea4ee51dc6b84894b","8e3209471112441795197a9e41bf121f","2bb911119079450aa9c19c04c59a7255","d6f100e0c858450c8ba0685cef3cd3c4","0259e40c2c2147a9b68423caa290f58b","f936be255e954c87b759d1f131dfd75e","e63410c2b6d6476ea260002cd791b293","125d5d4ca74247bda905502bb742026f","cdaae4aba64b4f049d9fc3d659a5ed58","f936be255e954c87b759d1f131dfd75e","bb5b1823ea0e452f9b51379d4239dedf","2d77e27a45d54ceab0337e4a9127814a","d8f16b50c30b4c3fbc11147378fc8d9a","f936be255e954c87b759d1f131dfd75e","72aa0c00628b422b922db277a8cf00f8","8e3209471112441795197a9e41bf121f","ec390c73fb8140cea4ee51dc6b84894b","3a02ce328dcd48bea280271888f77cff","2a0dc64c71eb410fb2eb77c77f3db194","5667940e1ff041eeb7269f162372d077","8e3209471112441795197a9e41bf121f","a0af652d34914526ab3f7eda5d75b51c","e5be5a1a19cc407cb8802dda2a379ebf","d4536d11274c4dc3a704c960ba02aaa9","d4536d11274c4dc3a704c960ba02aaa9","6ff720696e174f5aade0560569a0e460","ed39eb4e67504b67826e32fa5803240b","8e3209471112441795197a9e41bf121f","906e3736f164468989cdcfe55ba61c31","bcb206d798954913a687399df02af7ea","906e3736f164468989cdcfe55ba61c31","d8f16b50c30b4c3fbc11147378fc8d9a","d8f16b50c30b4c3fbc11147378fc8d9a","3a02ce328dcd48bea280271888f77cff","827871bdaa074ac58298b86c55871966","bcb206d798954913a687399df02af7ea","d8f16b50c30b4c3fbc11147378fc8d9a","3a02ce328dcd48bea280271888f77cff","f936be255e954c87b759d1f131dfd75e","dfd60ba2eae14a3b898fdb8f438542c9","f936be255e954c87b759d1f131dfd75e","5667940e1ff041eeb7269f162372d077","ec390c73fb8140cea4ee51dc6b84894b","f936be255e954c87b759d1f131dfd75e","67d43a54fb124085923fd9aa04ce9077","67d43a54fb124085923fd9aa04ce9077","5667940e1ff041eeb7269f162372d077","5cca1edb2029466bb9f2c69f243d625d","827871bdaa074ac58298b86c55871966","3a02ce328dcd48bea280271888f77cff","5667940e1ff041eeb7269f162372d077","67d43a54fb124085923fd9aa04ce9077","67d43a54fb124085923fd9aa04ce9077","724acbf278a94bea910a04e457194337","67d43a54fb124085923fd9aa04ce9077","8e3209471112441795197a9e41bf121f","67d43a54fb124085923fd9aa04ce9077","9ddfefd212c84828a5dedbc3b4216131","d8f16b50c30b4c3fbc11147378fc8d9a","6485a3de3c154128907e95f53f42e03a","377b49b3641d44e5b3229166e7ee918e","6ff720696e174f5aade0560569a0e460","df13a9730dac45f18dee2dc65af67f05","bb5b1823ea0e452f9b51379d4239dedf","5cca1edb2029466bb9f2c69f243d625d","d6f100e0c858450c8ba0685cef3cd3c4","366941b30ceb498796440b4cf2c95667","f936be255e954c87b759d1f131dfd75e","d8f16b50c30b4c3fbc11147378fc8d9a","906e3736f164468989cdcfe55ba61c31","d8f16b50c30b4c3fbc11147378fc8d9a","ed39eb4e67504b67826e32fa5803240b","f936be255e954c87b759d1f131dfd75e","cf36d36f874643c79133049cb4474ff1","906e3736f164468989cdcfe55ba61c31","cf36d36f874643c79133049cb4474ff1","96383b8f6e2e4672b9981b5e2710377f","67d43a54fb124085923fd9aa04ce9077","67d43a54fb124085923fd9aa04ce9077","5667940e1ff041eeb7269f162372d077","cf36d36f874643c79133049cb4474ff1","710b667145bc4a5ca34c2dcaaeea3c6a","7dbe27d916714855b16584f187e7053e","f936be255e954c87b759d1f131dfd75e","3a5ddd1b9c454a1d9a2f73a832795553","dbe2c19393dc48da92fa6c562b5ab74d","cdaae4aba64b4f049d9fc3d659a5ed58","ec390c73fb8140cea4ee51dc6b84894b","67d43a54fb124085923fd9aa04ce9077","f81573e89ed7452eaa7650eee6b5c96e","67d43a54fb124085923fd9aa04ce9077","67d43a54fb124085923fd9aa04ce9077","cdaae4aba64b4f049d9fc3d659a5ed58","67d43a54fb124085923fd9aa04ce9077","67d43a54fb124085923fd9aa04ce9077","d8f16b50c30b4c3fbc11147378fc8d9a","710b667145bc4a5ca34c2dcaaeea3c6a","7f9503741e0943009cf8fb0afe1358a4","67d43a54fb124085923fd9aa04ce9077","67d43a54fb124085923fd9aa04ce9077","5cca1edb2029466bb9f2c69f243d625d","67d43a54fb124085923fd9aa04ce9077","5dd9261cf4484955b07fa6ad0f99831e","d6f100e0c858450c8ba0685cef3cd3c4","67d43a54fb124085923fd9aa04ce9077","d8f16b50c30b4c3fbc11147378fc8d9a","d8f16b50c30b4c3fbc11147378fc8d9a","67d43a54fb124085923fd9aa04ce9077","8e3209471112441795197a9e41bf121f","377b49b3641d44e5b3229166e7ee918e","6485a3de3c154128907e95f53f42e03a","710b667145bc4a5ca34c2dcaaeea3c6a","262868e633f1444390cbf9a144e01824","67d43a54fb124085923fd9aa04ce9077","72aa0c00628b422b922db277a8cf00f8","67d43a54fb124085923fd9aa04ce9077","e5be5a1a19cc407cb8802dda2a379ebf","366941b30ceb498796440b4cf2c95667","cde34087dae246e6b12425e99ee61419","cde34087dae246e6b12425e99ee61419","8e3209471112441795197a9e41bf121f","8e3209471112441795197a9e41bf121f","dbe2c19393dc48da92fa6c562b5ab74d","71a582df5997443d9c8728a9ca0cbf11","72aa0c00628b422b922db277a8cf00f8","7dbe27d916714855b16584f187e7053e","71a582df5997443d9c8728a9ca0cbf11","5cca1edb2029466bb9f2c69f243d625d","7dbe27d916714855b16584f187e7053e","15e1e033d85f47c29f1fee8ecea79e3e","a0af652d34914526ab3f7eda5d75b51c","8e3209471112441795197a9e41bf121f","e5be5a1a19cc407cb8802dda2a379ebf","dfd60ba2eae14a3b898fdb8f438542c9","0259e40c2c2147a9b68423caa290f58b","d6f100e0c858450c8ba0685cef3cd3c4","ec390c73fb8140cea4ee51dc6b84894b","710b667145bc4a5ca34c2dcaaeea3c6a","5667940e1ff041eeb7269f162372d077","67d43a54fb124085923fd9aa04ce9077","8e3209471112441795197a9e41bf121f","5667940e1ff041eeb7269f162372d077","f936be255e954c87b759d1f131dfd75e","f936be255e954c87b759d1f131dfd75e","5667940e1ff041eeb7269f162372d077","6485a3de3c154128907e95f53f42e03a","8e3209471112441795197a9e41bf121f","8e3209471112441795197a9e41bf121f","7f9503741e0943009cf8fb0afe1358a4","67d43a54fb124085923fd9aa04ce9077","cf36d36f874643c79133049cb4474ff1","5cca1edb2029466bb9f2c69f243d625d","8e3209471112441795197a9e41bf121f","6485a3de3c154128907e95f53f42e03a","5667940e1ff041eeb7269f162372d077","d8f16b50c30b4c3fbc11147378fc8d9a","7f9503741e0943009cf8fb0afe1358a4","3a02ce328dcd48bea280271888f77cff","cf36d36f874643c79133049cb4474ff1","d85ae66b21444fde82205f101701c23b","8e3209471112441795197a9e41bf121f","377b49b3641d44e5b3229166e7ee918e","ba2f7de09f11449e9d38e0ea9811efcc","19ec5671dfb24317a0ba75b874fed715","5cca1edb2029466bb9f2c69f243d625d","7f9503741e0943009cf8fb0afe1358a4","f81573e89ed7452eaa7650eee6b5c96e","7a615ec5b1ed4e8396c223abcdcbdefb","ec390c73fb8140cea4ee51dc6b84894b","6ce95c2bc25348e794374cd92a289517","72aa0c00628b422b922db277a8cf00f8","7f9503741e0943009cf8fb0afe1358a4","15e1e033d85f47c29f1fee8ecea79e3e","cdc4167a4fab4be8a03d935ee66aa272","71a582df5997443d9c8728a9ca0cbf11","9ddfefd212c84828a5dedbc3b4216131","8e3209471112441795197a9e41bf121f","d6f100e0c858450c8ba0685cef3cd3c4","ec390c73fb8140cea4ee51dc6b84894b","3a02ce328dcd48bea280271888f77cff","8e3209471112441795197a9e41bf121f","5667940e1ff041eeb7269f162372d077","5cca1edb2029466bb9f2c69f243d625d","366941b30ceb498796440b4cf2c95667","cf36d36f874643c79133049cb4474ff1","7a615ec5b1ed4e8396c223abcdcbdefb","bcb206d798954913a687399df02af7ea","8e3209471112441795197a9e41bf121f","3339b0d06f1f41f6962089ff5a07ec64","7f9503741e0943009cf8fb0afe1358a4","827871bdaa074ac58298b86c55871966","2a0dc64c71eb410fb2eb77c77f3db194","8e3209471112441795197a9e41bf121f","d6f100e0c858450c8ba0685cef3cd3c4","ed39eb4e67504b67826e32fa5803240b","5cca1edb2029466bb9f2c69f243d625d","d6f100e0c858450c8ba0685cef3cd3c4","2bb911119079450aa9c19c04c59a7255","b516b2e7160047a5b239beee5639a32e","dfd60ba2eae14a3b898fdb8f438542c9","6485a3de3c154128907e95f53f42e03a","3a02ce328dcd48bea280271888f77cff","f936be255e954c87b759d1f131dfd75e","f81573e89ed7452eaa7650eee6b5c96e","67d43a54fb124085923fd9aa04ce9077","8e3209471112441795197a9e41bf121f","dfd60ba2eae14a3b898fdb8f438542c9","f936be255e954c87b759d1f131dfd75e","d6f100e0c858450c8ba0685cef3cd3c4","bb5b1823ea0e452f9b51379d4239dedf","ec390c73fb8140cea4ee51dc6b84894b","2a0dc64c71eb410fb2eb77c77f3db194","2a0dc64c71eb410fb2eb77c77f3db194","c8b471f521d94298b9fee211a5774406","ceca04a4a10d4448b9e5e4badce5a4b9","5cca1edb2029466bb9f2c69f243d625d","5667940e1ff041eeb7269f162372d077","ba2f7de09f11449e9d38e0ea9811efcc","df13a9730dac45f18dee2dc65af67f05","ed39eb4e67504b67826e32fa5803240b","ec390c73fb8140cea4ee51dc6b84894b","d4536d11274c4dc3a704c960ba02aaa9","906e3736f164468989cdcfe55ba61c31","9772ffff70a84be1af2711eb40e9d712","ec390c73fb8140cea4ee51dc6b84894b","3339b0d06f1f41f6962089ff5a07ec64","366941b30ceb498796440b4cf2c95667","71a582df5997443d9c8728a9ca0cbf11","5667940e1ff041eeb7269f162372d077","b516b2e7160047a5b239beee5639a32e","724acbf278a94bea910a04e457194337","a0af652d34914526ab3f7eda5d75b51c","2d77e27a45d54ceab0337e4a9127814a","67d43a54fb124085923fd9aa04ce9077","5dd9261cf4484955b07fa6ad0f99831e","d8f16b50c30b4c3fbc11147378fc8d9a","3a02ce328dcd48bea280271888f77cff","0259e40c2c2147a9b68423caa290f58b","710b667145bc4a5ca34c2dcaaeea3c6a","2bb911119079450aa9c19c04c59a7255","cf36d36f874643c79133049cb4474ff1","5cca1edb2029466bb9f2c69f243d625d","d6f100e0c858450c8ba0685cef3cd3c4","5cca1edb2029466bb9f2c69f243d625d","906e3736f164468989cdcfe55ba61c31","67d43a54fb124085923fd9aa04ce9077","e5be5a1a19cc407cb8802dda2a379ebf","d8f16b50c30b4c3fbc11147378fc8d9a","8e3209471112441795197a9e41bf121f","dbe2c19393dc48da92fa6c562b5ab74d","67d43a54fb124085923fd9aa04ce9077","f936be255e954c87b759d1f131dfd75e","67d43a54fb124085923fd9aa04ce9077","71a582df5997443d9c8728a9ca0cbf11","bcb206d798954913a687399df02af7ea","d4536d11274c4dc3a704c960ba02aaa9","f936be255e954c87b759d1f131dfd75e","3a5ddd1b9c454a1d9a2f73a832795553","f81573e89ed7452eaa7650eee6b5c96e","7f9503741e0943009cf8fb0afe1358a4","b516b2e7160047a5b239beee5639a32e","cdc4167a4fab4be8a03d935ee66aa272","ec390c73fb8140cea4ee51dc6b84894b","7f9503741e0943009cf8fb0afe1358a4","125d5d4ca74247bda905502bb742026f","5084d87e17ac473991570ad423e305b2","710b667145bc4a5ca34c2dcaaeea3c6a","ec390c73fb8140cea4ee51dc6b84894b","6485a3de3c154128907e95f53f42e03a","3a02ce328dcd48bea280271888f77cff","8e3209471112441795197a9e41bf121f","d85ae66b21444fde82205f101701c23b","6934b55287504d27965ebfb0914d052c","6934b55287504d27965ebfb0914d052c","f81573e89ed7452eaa7650eee6b5c96e","67d43a54fb124085923fd9aa04ce9077","d6f100e0c858450c8ba0685cef3cd3c4","d6f100e0c858450c8ba0685cef3cd3c4","6ff720696e174f5aade0560569a0e460","3a02ce328dcd48bea280271888f77cff","3339b0d06f1f41f6962089ff5a07ec64","2a0dc64c71eb410fb2eb77c77f3db194","8e3209471112441795197a9e41bf121f","6ce95c2bc25348e794374cd92a289517","7f9503741e0943009cf8fb0afe1358a4","7a615ec5b1ed4e8396c223abcdcbdefb","710b667145bc4a5ca34c2dcaaeea3c6a","d8f16b50c30b4c3fbc11147378fc8d9a","5cca1edb2029466bb9f2c69f243d625d","906e3736f164468989cdcfe55ba61c31","d4536d11274c4dc3a704c960ba02aaa9","3a5ddd1b9c454a1d9a2f73a832795553","a327f186f43b4aa6bbe746e93244e44e","d6f100e0c858450c8ba0685cef3cd3c4","df13a9730dac45f18dee2dc65af67f05","67d43a54fb124085923fd9aa04ce9077","7f9503741e0943009cf8fb0afe1358a4","b516b2e7160047a5b239beee5639a32e","3339b0d06f1f41f6962089ff5a07ec64","b516b2e7160047a5b239beee5639a32e","5667940e1ff041eeb7269f162372d077","82e2a390a1f041e2b3927de670d6a200","ceca04a4a10d4448b9e5e4badce5a4b9","dbe2c19393dc48da92fa6c562b5ab74d","ec390c73fb8140cea4ee51dc6b84894b","dbe2c19393dc48da92fa6c562b5ab74d","67d43a54fb124085923fd9aa04ce9077","6934b55287504d27965ebfb0914d052c","e5be5a1a19cc407cb8802dda2a379ebf","906e3736f164468989cdcfe55ba61c31","d8f16b50c30b4c3fbc11147378fc8d9a","cf36d36f874643c79133049cb4474ff1","71a582df5997443d9c8728a9ca0cbf11","72aa0c00628b422b922db277a8cf00f8","906e3736f164468989cdcfe55ba61c31","7a615ec5b1ed4e8396c223abcdcbdefb","19ec5671dfb24317a0ba75b874fed715","6934b55287504d27965ebfb0914d052c","906e3736f164468989cdcfe55ba61c31","6934b55287504d27965ebfb0914d052c","bb5b1823ea0e452f9b51379d4239dedf","ec390c73fb8140cea4ee51dc6b84894b","ed39eb4e67504b67826e32fa5803240b","724acbf278a94bea910a04e457194337","7f9503741e0943009cf8fb0afe1358a4","ec390c73fb8140cea4ee51dc6b84894b","6934b55287504d27965ebfb0914d052c","7f9503741e0943009cf8fb0afe1358a4","f81573e89ed7452eaa7650eee6b5c96e","8e3209471112441795197a9e41bf121f","ec390c73fb8140cea4ee51dc6b84894b","ed39eb4e67504b67826e32fa5803240b","67d43a54fb124085923fd9aa04ce9077","ec390c73fb8140cea4ee51dc6b84894b","d6f100e0c858450c8ba0685cef3cd3c4","d8f16b50c30b4c3fbc11147378fc8d9a","bb5b1823ea0e452f9b51379d4239dedf","906e3736f164468989cdcfe55ba61c31","d6f100e0c858450c8ba0685cef3cd3c4","2a0dc64c71eb410fb2eb77c77f3db194","d8f16b50c30b4c3fbc11147378fc8d9a","71a582df5997443d9c8728a9ca0cbf11","3339b0d06f1f41f6962089ff5a07ec64","724acbf278a94bea910a04e457194337","6934b55287504d27965ebfb0914d052c","ec390c73fb8140cea4ee51dc6b84894b","827871bdaa074ac58298b86c55871966","5dd9261cf4484955b07fa6ad0f99831e","ba2f7de09f11449e9d38e0ea9811efcc","d85ae66b21444fde82205f101701c23b","7f9503741e0943009cf8fb0afe1358a4","3a02ce328dcd48bea280271888f77cff","67d43a54fb124085923fd9aa04ce9077","72aa0c00628b422b922db277a8cf00f8","df13a9730dac45f18dee2dc65af67f05","5667940e1ff041eeb7269f162372d077","7f9503741e0943009cf8fb0afe1358a4","3a02ce328dcd48bea280271888f77cff","c1dcda8442cd4feeba84916c11d7f5d4","7a615ec5b1ed4e8396c223abcdcbdefb","9772ffff70a84be1af2711eb40e9d712","906e3736f164468989cdcfe55ba61c31","bb5b1823ea0e452f9b51379d4239dedf","c79dae546eaa46d4891652045fa41c1e","d4536d11274c4dc3a704c960ba02aaa9","366941b30ceb498796440b4cf2c95667","15e1e033d85f47c29f1fee8ecea79e3e","8e3209471112441795197a9e41bf121f","366941b30ceb498796440b4cf2c95667","8e3209471112441795197a9e41bf121f","f936be255e954c87b759d1f131dfd75e","bb5b1823ea0e452f9b51379d4239dedf","67d43a54fb124085923fd9aa04ce9077","7f9503741e0943009cf8fb0afe1358a4","724acbf278a94bea910a04e457194337","5cca1edb2029466bb9f2c69f243d625d","5084d87e17ac473991570ad423e305b2","67d43a54fb124085923fd9aa04ce9077","6934b55287504d27965ebfb0914d052c","f81573e89ed7452eaa7650eee6b5c96e","5cca1edb2029466bb9f2c69f243d625d","b516b2e7160047a5b239beee5639a32e","67d43a54fb124085923fd9aa04ce9077","f936be255e954c87b759d1f131dfd75e","6934b55287504d27965ebfb0914d052c","f81573e89ed7452eaa7650eee6b5c96e","5667940e1ff041eeb7269f162372d077","6485a3de3c154128907e95f53f42e03a","cf36d36f874643c79133049cb4474ff1","a0af652d34914526ab3f7eda5d75b51c","67d43a54fb124085923fd9aa04ce9077","8e3209471112441795197a9e41bf121f","ec390c73fb8140cea4ee51dc6b84894b","5667940e1ff041eeb7269f162372d077","67d43a54fb124085923fd9aa04ce9077","5084d87e17ac473991570ad423e305b2","7f9503741e0943009cf8fb0afe1358a4","f81573e89ed7452eaa7650eee6b5c96e","5cca1edb2029466bb9f2c69f243d625d","bb5b1823ea0e452f9b51379d4239dedf","d6f100e0c858450c8ba0685cef3cd3c4","ba2f7de09f11449e9d38e0ea9811efcc","8e3209471112441795197a9e41bf121f","ed39eb4e67504b67826e32fa5803240b","906e3736f164468989cdcfe55ba61c31","bb5b1823ea0e452f9b51379d4239dedf","5667940e1ff041eeb7269f162372d077","3a02ce328dcd48bea280271888f77cff","15e1e033d85f47c29f1fee8ecea79e3e","366941b30ceb498796440b4cf2c95667","ec390c73fb8140cea4ee51dc6b84894b","f936be255e954c87b759d1f131dfd75e","72aa0c00628b422b922db277a8cf00f8","3a5ddd1b9c454a1d9a2f73a832795553","9772ffff70a84be1af2711eb40e9d712","ec390c73fb8140cea4ee51dc6b84894b","3a5ddd1b9c454a1d9a2f73a832795553","8e3209471112441795197a9e41bf121f","bb5b1823ea0e452f9b51379d4239dedf","377b49b3641d44e5b3229166e7ee918e","7a615ec5b1ed4e8396c223abcdcbdefb","f81573e89ed7452eaa7650eee6b5c96e","f936be255e954c87b759d1f131dfd75e","827871bdaa074ac58298b86c55871966","8e3209471112441795197a9e41bf121f","ec390c73fb8140cea4ee51dc6b84894b","e5be5a1a19cc407cb8802dda2a379ebf","9ddfefd212c84828a5dedbc3b4216131","6ce95c2bc25348e794374cd92a289517","bb5b1823ea0e452f9b51379d4239dedf","9772ffff70a84be1af2711eb40e9d712","3a5ddd1b9c454a1d9a2f73a832795553","7dbe27d916714855b16584f187e7053e","d6f100e0c858450c8ba0685cef3cd3c4","7dbe27d916714855b16584f187e7053e","906e3736f164468989cdcfe55ba61c31","d4536d11274c4dc3a704c960ba02aaa9","b516b2e7160047a5b239beee5639a32e","8e3209471112441795197a9e41bf121f","cf36d36f874643c79133049cb4474ff1","df13a9730dac45f18dee2dc65af67f05","366941b30ceb498796440b4cf2c95667","7f9503741e0943009cf8fb0afe1358a4","6485a3de3c154128907e95f53f42e03a","7f9503741e0943009cf8fb0afe1358a4","d6f100e0c858450c8ba0685cef3cd3c4","67d43a54fb124085923fd9aa04ce9077","906e3736f164468989cdcfe55ba61c31","6ff720696e174f5aade0560569a0e460","ec390c73fb8140cea4ee51dc6b84894b","cf36d36f874643c79133049cb4474ff1","906e3736f164468989cdcfe55ba61c31","7dbe27d916714855b16584f187e7053e","f936be255e954c87b759d1f131dfd75e","ed39eb4e67504b67826e32fa5803240b","e5be5a1a19cc407cb8802dda2a379ebf","366941b30ceb498796440b4cf2c95667","6485a3de3c154128907e95f53f42e03a","7f9503741e0943009cf8fb0afe1358a4","2bb911119079450aa9c19c04c59a7255","d8f16b50c30b4c3fbc11147378fc8d9a","9f5484cbd5f7481caf0b32af104281fc","d85ae66b21444fde82205f101701c23b","bb5b1823ea0e452f9b51379d4239dedf","7f9503741e0943009cf8fb0afe1358a4","cf36d36f874643c79133049cb4474ff1","7f9503741e0943009cf8fb0afe1358a4","ec390c73fb8140cea4ee51dc6b84894b","7dbe27d916714855b16584f187e7053e","7f9503741e0943009cf8fb0afe1358a4","8e3209471112441795197a9e41bf121f","72aa0c00628b422b922db277a8cf00f8","d4536d11274c4dc3a704c960ba02aaa9","cf36d36f874643c79133049cb4474ff1","15e1e033d85f47c29f1fee8ecea79e3e","dfd60ba2eae14a3b898fdb8f438542c9","ed39eb4e67504b67826e32fa5803240b","ec390c73fb8140cea4ee51dc6b84894b","bcb206d798954913a687399df02af7ea","f5de91e6e13f464c9737a0ddb447c052","71a582df5997443d9c8728a9ca0cbf11","7dbe27d916714855b16584f187e7053e","3a02ce328dcd48bea280271888f77cff","7dbe27d916714855b16584f187e7053e","67d43a54fb124085923fd9aa04ce9077","19ec5671dfb24317a0ba75b874fed715","19ec5671dfb24317a0ba75b874fed715","5cca1edb2029466bb9f2c69f243d625d","366941b30ceb498796440b4cf2c95667","7e48eb82171d4baf91ba97cd321582f1","f5b503e438fc4236a840af1e35a46ef5","5084d87e17ac473991570ad423e305b2","bb5b1823ea0e452f9b51379d4239dedf","5cca1edb2029466bb9f2c69f243d625d","906e3736f164468989cdcfe55ba61c31","ec390c73fb8140cea4ee51dc6b84894b","cf36d36f874643c79133049cb4474ff1","ceca04a4a10d4448b9e5e4badce5a4b9","5667940e1ff041eeb7269f162372d077","df13a9730dac45f18dee2dc65af67f05","f936be255e954c87b759d1f131dfd75e","15e1e033d85f47c29f1fee8ecea79e3e","724acbf278a94bea910a04e457194337","125d5d4ca74247bda905502bb742026f","724acbf278a94bea910a04e457194337","dfd60ba2eae14a3b898fdb8f438542c9","15e1e033d85f47c29f1fee8ecea79e3e","8e3209471112441795197a9e41bf121f","ec390c73fb8140cea4ee51dc6b84894b","8e3209471112441795197a9e41bf121f","9ddfefd212c84828a5dedbc3b4216131","5667940e1ff041eeb7269f162372d077","67d43a54fb124085923fd9aa04ce9077","ed39eb4e67504b67826e32fa5803240b","ed39eb4e67504b67826e32fa5803240b","b516b2e7160047a5b239beee5639a32e","f81573e89ed7452eaa7650eee6b5c96e","2a0dc64c71eb410fb2eb77c77f3db194","2d77e27a45d54ceab0337e4a9127814a","3339b0d06f1f41f6962089ff5a07ec64","67d43a54fb124085923fd9aa04ce9077","5cca1edb2029466bb9f2c69f243d625d","f936be255e954c87b759d1f131dfd75e","6ce95c2bc25348e794374cd92a289517","9ddfefd212c84828a5dedbc3b4216131","cdc4167a4fab4be8a03d935ee66aa272","bb5b1823ea0e452f9b51379d4239dedf","df13a9730dac45f18dee2dc65af67f05","dbe2c19393dc48da92fa6c562b5ab74d","67d43a54fb124085923fd9aa04ce9077","724acbf278a94bea910a04e457194337","df13a9730dac45f18dee2dc65af67f05","19ec5671dfb24317a0ba75b874fed715","19ec5671dfb24317a0ba75b874fed715","71a582df5997443d9c8728a9ca0cbf11","15e1e033d85f47c29f1fee8ecea79e3e","3339b0d06f1f41f6962089ff5a07ec64","5cca1edb2029466bb9f2c69f243d625d","3a02ce328dcd48bea280271888f77cff","f936be255e954c87b759d1f131dfd75e","d8f16b50c30b4c3fbc11147378fc8d9a","cdc4167a4fab4be8a03d935ee66aa272","724acbf278a94bea910a04e457194337","9ddfefd212c84828a5dedbc3b4216131","6485a3de3c154128907e95f53f42e03a","6485a3de3c154128907e95f53f42e03a","d6f100e0c858450c8ba0685cef3cd3c4","6934b55287504d27965ebfb0914d052c","366941b30ceb498796440b4cf2c95667","3a02ce328dcd48bea280271888f77cff","71a582df5997443d9c8728a9ca0cbf11","7a615ec5b1ed4e8396c223abcdcbdefb","7f9503741e0943009cf8fb0afe1358a4","ec390c73fb8140cea4ee51dc6b84894b","6ce95c2bc25348e794374cd92a289517","906e3736f164468989cdcfe55ba61c31","7f9503741e0943009cf8fb0afe1358a4","5cca1edb2029466bb9f2c69f243d625d","7f9503741e0943009cf8fb0afe1358a4","f936be255e954c87b759d1f131dfd75e","ec390c73fb8140cea4ee51dc6b84894b","d6f100e0c858450c8ba0685cef3cd3c4","bb5b1823ea0e452f9b51379d4239dedf","8e3209471112441795197a9e41bf121f","d6f100e0c858450c8ba0685cef3cd3c4","d6f100e0c858450c8ba0685cef3cd3c4","6934b55287504d27965ebfb0914d052c","f5b503e438fc4236a840af1e35a46ef5","7f9503741e0943009cf8fb0afe1358a4","bb5b1823ea0e452f9b51379d4239dedf","b516b2e7160047a5b239beee5639a32e","6934b55287504d27965ebfb0914d052c","7f9503741e0943009cf8fb0afe1358a4","d4536d11274c4dc3a704c960ba02aaa9","7f9503741e0943009cf8fb0afe1358a4","d6f100e0c858450c8ba0685cef3cd3c4","366941b30ceb498796440b4cf2c95667","cf36d36f874643c79133049cb4474ff1","cf36d36f874643c79133049cb4474ff1","67d43a54fb124085923fd9aa04ce9077","f936be255e954c87b759d1f131dfd75e","f81573e89ed7452eaa7650eee6b5c96e","d6f100e0c858450c8ba0685cef3cd3c4","8e3209471112441795197a9e41bf121f","d4536d11274c4dc3a704c960ba02aaa9","f936be255e954c87b759d1f131dfd75e","125d5d4ca74247bda905502bb742026f","71a582df5997443d9c8728a9ca0cbf11","9772ffff70a84be1af2711eb40e9d712","bb5b1823ea0e452f9b51379d4239dedf","3a02ce328dcd48bea280271888f77cff","f936be255e954c87b759d1f131dfd75e","b516b2e7160047a5b239beee5639a32e","5cca1edb2029466bb9f2c69f243d625d","ec390c73fb8140cea4ee51dc6b84894b","8e3209471112441795197a9e41bf121f","5084d87e17ac473991570ad423e305b2","15e1e033d85f47c29f1fee8ecea79e3e","bcb206d798954913a687399df02af7ea","15e1e033d85f47c29f1fee8ecea79e3e","d6f100e0c858450c8ba0685cef3cd3c4","ec390c73fb8140cea4ee51dc6b84894b","f81573e89ed7452eaa7650eee6b5c96e","19ec5671dfb24317a0ba75b874fed715","ec390c73fb8140cea4ee51dc6b84894b","6934b55287504d27965ebfb0914d052c","a96a12f2c51f4efeac417e7ffc587485","96383b8f6e2e4672b9981b5e2710377f","3339b0d06f1f41f6962089ff5a07ec64","bcb206d798954913a687399df02af7ea","15e1e033d85f47c29f1fee8ecea79e3e","72aa0c00628b422b922db277a8cf00f8","67d43a54fb124085923fd9aa04ce9077","bcb206d798954913a687399df02af7ea","7a615ec5b1ed4e8396c223abcdcbdefb","9772ffff70a84be1af2711eb40e9d712","7f9503741e0943009cf8fb0afe1358a4","2a0dc64c71eb410fb2eb77c77f3db194","ed39eb4e67504b67826e32fa5803240b","cf36d36f874643c79133049cb4474ff1","b4553dea59444c898db8315a0eb1037c","ec390c73fb8140cea4ee51dc6b84894b","906e3736f164468989cdcfe55ba61c31","d4536d11274c4dc3a704c960ba02aaa9","d85ae66b21444fde82205f101701c23b","bb5b1823ea0e452f9b51379d4239dedf","906e3736f164468989cdcfe55ba61c31","67d43a54fb124085923fd9aa04ce9077","e5be5a1a19cc407cb8802dda2a379ebf","cdaae4aba64b4f049d9fc3d659a5ed58","8e3209471112441795197a9e41bf121f","7f9503741e0943009cf8fb0afe1358a4","8e3209471112441795197a9e41bf121f","5cca1edb2029466bb9f2c69f243d625d","377b49b3641d44e5b3229166e7ee918e","3a5ddd1b9c454a1d9a2f73a832795553","e5be5a1a19cc407cb8802dda2a379ebf","8e3209471112441795197a9e41bf121f","9772ffff70a84be1af2711eb40e9d712","ec390c73fb8140cea4ee51dc6b84894b","3a5ddd1b9c454a1d9a2f73a832795553","724acbf278a94bea910a04e457194337","3a5ddd1b9c454a1d9a2f73a832795553","bb5b1823ea0e452f9b51379d4239dedf","366941b30ceb498796440b4cf2c95667","c1134d2e5c3b44378fdf5bededeb663e","f936be255e954c87b759d1f131dfd75e","cdc4167a4fab4be8a03d935ee66aa272","67d43a54fb124085923fd9aa04ce9077","b516b2e7160047a5b239beee5639a32e","d6f100e0c858450c8ba0685cef3cd3c4","15e1e033d85f47c29f1fee8ecea79e3e","6485a3de3c154128907e95f53f42e03a","ec390c73fb8140cea4ee51dc6b84894b","3339b0d06f1f41f6962089ff5a07ec64","906e3736f164468989cdcfe55ba61c31","ec390c73fb8140cea4ee51dc6b84894b","67d43a54fb124085923fd9aa04ce9077","bcb206d798954913a687399df02af7ea","19ec5671dfb24317a0ba75b874fed715","366941b30ceb498796440b4cf2c95667","d6f100e0c858450c8ba0685cef3cd3c4","3a02ce328dcd48bea280271888f77cff","366941b30ceb498796440b4cf2c95667","e63410c2b6d6476ea260002cd791b293","7f9503741e0943009cf8fb0afe1358a4","19ec5671dfb24317a0ba75b874fed715","3a5ddd1b9c454a1d9a2f73a832795553","8e3209471112441795197a9e41bf121f","710b667145bc4a5ca34c2dcaaeea3c6a","906e3736f164468989cdcfe55ba61c31","906e3736f164468989cdcfe55ba61c31","15e1e033d85f47c29f1fee8ecea79e3e","5cca1edb2029466bb9f2c69f243d625d","2bb911119079450aa9c19c04c59a7255","bcb206d798954913a687399df02af7ea","67d43a54fb124085923fd9aa04ce9077","8e3209471112441795197a9e41bf121f","d4536d11274c4dc3a704c960ba02aaa9","262868e633f1444390cbf9a144e01824","5e929f9eb2ab40cd97dbfb34e1827f6f","5cca1edb2029466bb9f2c69f243d625d","d85ae66b21444fde82205f101701c23b","3a02ce328dcd48bea280271888f77cff","67d43a54fb124085923fd9aa04ce9077","67d43a54fb124085923fd9aa04ce9077","906e3736f164468989cdcfe55ba61c31","5667940e1ff041eeb7269f162372d077","67d43a54fb124085923fd9aa04ce9077","bb5b1823ea0e452f9b51379d4239dedf","e5be5a1a19cc407cb8802dda2a379ebf","710b667145bc4a5ca34c2dcaaeea3c6a","7a615ec5b1ed4e8396c223abcdcbdefb","181ff2bc8b39469293895b0a9afc4e83","8e3209471112441795197a9e41bf121f","7f9503741e0943009cf8fb0afe1358a4","3a5ddd1b9c454a1d9a2f73a832795553","2d77e27a45d54ceab0337e4a9127814a","ed39eb4e67504b67826e32fa5803240b","e5be5a1a19cc407cb8802dda2a379ebf","3a5ddd1b9c454a1d9a2f73a832795553","366941b30ceb498796440b4cf2c95667","cf7e95967e6c4067b47198d6015442b8","ec390c73fb8140cea4ee51dc6b84894b","bcb206d798954913a687399df02af7ea","710b667145bc4a5ca34c2dcaaeea3c6a","7f9503741e0943009cf8fb0afe1358a4","7f9503741e0943009cf8fb0afe1358a4","cdaae4aba64b4f049d9fc3d659a5ed58","7f9503741e0943009cf8fb0afe1358a4","3a5ddd1b9c454a1d9a2f73a832795553","7f9503741e0943009cf8fb0afe1358a4","6485a3de3c154128907e95f53f42e03a","15e1e033d85f47c29f1fee8ecea79e3e","3a02ce328dcd48bea280271888f77cff","c79dae546eaa46d4891652045fa41c1e","d6f100e0c858450c8ba0685cef3cd3c4","19ec5671dfb24317a0ba75b874fed715","15e1e033d85f47c29f1fee8ecea79e3e","724acbf278a94bea910a04e457194337","ed39eb4e67504b67826e32fa5803240b","7f9503741e0943009cf8fb0afe1358a4","d8f16b50c30b4c3fbc11147378fc8d9a","dbe2c19393dc48da92fa6c562b5ab74d","d4536d11274c4dc3a704c960ba02aaa9","7dbe27d916714855b16584f187e7053e","67d43a54fb124085923fd9aa04ce9077","f936be255e954c87b759d1f131dfd75e","125d5d4ca74247bda905502bb742026f","9ddfefd212c84828a5dedbc3b4216131","827871bdaa074ac58298b86c55871966","8e3209471112441795197a9e41bf121f","df13a9730dac45f18dee2dc65af67f05","710b667145bc4a5ca34c2dcaaeea3c6a","8e3209471112441795197a9e41bf121f","3339b0d06f1f41f6962089ff5a07ec64","5dd9261cf4484955b07fa6ad0f99831e","ed39eb4e67504b67826e32fa5803240b","2e27759f64344ff08405103a8f47d68d","b516b2e7160047a5b239beee5639a32e","19ec5671dfb24317a0ba75b874fed715","6ce95c2bc25348e794374cd92a289517","7f9503741e0943009cf8fb0afe1358a4","bcb206d798954913a687399df02af7ea","7f9503741e0943009cf8fb0afe1358a4","bcb206d798954913a687399df02af7ea","d6f100e0c858450c8ba0685cef3cd3c4","7dbe27d916714855b16584f187e7053e","ec390c73fb8140cea4ee51dc6b84894b","8e3209471112441795197a9e41bf121f","d4536d11274c4dc3a704c960ba02aaa9","ed39eb4e67504b67826e32fa5803240b","15e1e033d85f47c29f1fee8ecea79e3e","67d43a54fb124085923fd9aa04ce9077","5cca1edb2029466bb9f2c69f243d625d","7a615ec5b1ed4e8396c223abcdcbdefb","ec390c73fb8140cea4ee51dc6b84894b","d4536d11274c4dc3a704c960ba02aaa9","377b49b3641d44e5b3229166e7ee918e","bcb206d798954913a687399df02af7ea","3339b0d06f1f41f6962089ff5a07ec64","906e3736f164468989cdcfe55ba61c31","ec390c73fb8140cea4ee51dc6b84894b","f13e10298ebb48cbbacbe39e97d1a8bf","8e3209471112441795197a9e41bf121f","f81573e89ed7452eaa7650eee6b5c96e","d6f100e0c858450c8ba0685cef3cd3c4","15e1e033d85f47c29f1fee8ecea79e3e","ec390c73fb8140cea4ee51dc6b84894b","5dd9261cf4484955b07fa6ad0f99831e","cdaae4aba64b4f049d9fc3d659a5ed58","19ec5671dfb24317a0ba75b874fed715","ec390c73fb8140cea4ee51dc6b84894b","f81573e89ed7452eaa7650eee6b5c96e","3a02ce328dcd48bea280271888f77cff","d6f100e0c858450c8ba0685cef3cd3c4","9772ffff70a84be1af2711eb40e9d712","d4536d11274c4dc3a704c960ba02aaa9","3a5ddd1b9c454a1d9a2f73a832795553","19ec5671dfb24317a0ba75b874fed715","ec390c73fb8140cea4ee51dc6b84894b","15e1e033d85f47c29f1fee8ecea79e3e","3a5ddd1b9c454a1d9a2f73a832795553","3a5ddd1b9c454a1d9a2f73a832795553","e5be5a1a19cc407cb8802dda2a379ebf","d6f100e0c858450c8ba0685cef3cd3c4","5cca1edb2029466bb9f2c69f243d625d","67d43a54fb124085923fd9aa04ce9077","a327f186f43b4aa6bbe746e93244e44e","3a02ce328dcd48bea280271888f77cff","6485a3de3c154128907e95f53f42e03a","377b49b3641d44e5b3229166e7ee918e","a327f186f43b4aa6bbe746e93244e44e","7dbe27d916714855b16584f187e7053e","3a02ce328dcd48bea280271888f77cff","bb5b1823ea0e452f9b51379d4239dedf","7a615ec5b1ed4e8396c223abcdcbdefb","125d5d4ca74247bda905502bb742026f","72aa0c00628b422b922db277a8cf00f8","7a615ec5b1ed4e8396c223abcdcbdefb","8e3209471112441795197a9e41bf121f","f81573e89ed7452eaa7650eee6b5c96e","ec390c73fb8140cea4ee51dc6b84894b","f5b9bce6b02246fb856c4fd654009950","cdc4167a4fab4be8a03d935ee66aa272","f936be255e954c87b759d1f131dfd75e","6485a3de3c154128907e95f53f42e03a","ec390c73fb8140cea4ee51dc6b84894b","d6f100e0c858450c8ba0685cef3cd3c4") ; ;
hmQrcodeQDTO.setEnterpriseId("ff8080815dacd3a2015dacd3ef5c0000"); String enterpriseId ="ff808081748d32bb01748f7d2efa1d0b" ;
hmQrcodeQDTO.setName("徐高华"); String wxEnterpriseId ="369038a3568b46a6898d635843b73dc6" ;
hmQrcodeQDTO.setPassFlag(1); System.out.println(System.currentTimeMillis());
hmQrcodeQDTO.setStoreId("ff8080816ad96137016ad97c87580000"); System.out.println(this.externalClerkRelatedApiService.listMemberStaffRel(memberIdList, clerkIdList,
hmQrcodeQDTO.setClerkIdList(Collections.singletonList("ff1307040a7748699cf3109615fb24d7")); enterpriseId, wxEnterpriseId));
hmQrcodeApiService.add(hmQrcodeQDTO); System.out.println(System.currentTimeMillis());
} }
@Test @Test
......
...@@ -471,6 +471,11 @@ public class LoginController extends WebBaseController { ...@@ -471,6 +471,11 @@ public class LoginController extends WebBaseController {
logger.info("切换商户失败,gic账号不存在,eid={},phone={}", enterpriseId, phoneNumber); logger.info("切换商户失败,gic账号不存在,eid={},phone={}", enterpriseId, phoneNumber);
return this.fail("切换商户失败,gic账号不存在"); return this.fail("切换商户失败,gic账号不存在");
} }
String endMessage = wxEnterpriseApiService.getEndDate(enterpriseId);
if (StringUtils.isNotBlank(endMessage)) {
logger.info("切换商户失败,商户已过期,eid={},phone={}", enterpriseId, phoneNumber);
return this.fail(endMessage);
}
loginUser.setEnterpriseId(enterpriseId); loginUser.setEnterpriseId(enterpriseId);
loginUser.setClerkId(clerk.getClerkId()); loginUser.setClerkId(clerk.getClerkId());
loginUser.setClerkName(clerk.getClerkName()); loginUser.setClerkName(clerk.getClerkName());
...@@ -482,11 +487,6 @@ public class LoginController extends WebBaseController { ...@@ -482,11 +487,6 @@ public class LoginController extends WebBaseController {
loginUser.setClerkPhone(clerk.getPhoneNumber()) ; loginUser.setClerkPhone(clerk.getPhoneNumber()) ;
AuthWebRequestUtil.setSessionUser(loginUser); AuthWebRequestUtil.setSessionUser(loginUser);
AuthWebRequestUtil.setAppLoginUser(token, loginUser); AuthWebRequestUtil.setAppLoginUser(token, loginUser);
boolean flag = wxEnterpriseApiService.enterpriseIsOver(enterpriseId);
if (flag) {
logger.info("切换商户失败,商户已过期,eid={},phone={}", enterpriseId, phoneNumber);
return this.fail("切换商户失败,商户已过期");
}
return resultResponse(HaoBanErrCode.ERR_1, false); return resultResponse(HaoBanErrCode.ERR_1, false);
} }
......
...@@ -275,7 +275,7 @@ public class StaffController extends WebBaseController { ...@@ -275,7 +275,7 @@ public class StaffController extends WebBaseController {
@RequestMapping("del-clerk-relation") @RequestMapping("del-clerk-relation")
public HaobanResponse delStaffClerkList(String clerkId) { public HaobanResponse delStaffClerkList(String clerkId) {
WebLoginDTO login = AuthWebRequestUtil.getLoginUser(); WebLoginDTO login = AuthWebRequestUtil.getLoginUser();
boolean b = staffClerkRelationApiService.unbindByStaffAndClerkId(login.getClerkId(), clerkId); boolean b = staffClerkRelationApiService.unbindByStaffAndClerkId(login.getClerkId(), clerkId,ChannelCodeEnum.ADMIN_UNBIND.getCode());
return resultResponse(HaoBanErrCode.ERR_1, b); return resultResponse(HaoBanErrCode.ERR_1, b);
} }
......
...@@ -110,7 +110,7 @@ public class ClerkController extends WebBaseController { ...@@ -110,7 +110,7 @@ public class ClerkController extends WebBaseController {
if (clerk != null) { if (clerk != null) {
long memberCount = distributeApiService.getClerkMemberCount(staffClerkRelationDTO.getEnterpriseId(), clerk.getClerkId(), storeId); long memberCount = distributeApiService.getClerkMemberCount(staffClerkRelationDTO.getEnterpriseId(), clerk.getClerkId(), storeId);
logger.info("【获取会员数】enterpriseId={},clerkId={},storeId={},memberCount={}", staffClerkRelationDTO.getEnterpriseId(), clerk.getClerkId(), storeId, memberCount); logger.info("【获取会员数】enterpriseId={},clerkId={},storeId={},memberCount={}", staffClerkRelationDTO.getEnterpriseId(), clerk.getClerkId(), storeId, memberCount);
staffDTO.setMemberCount(Convert.toInt(memberCount,0)); staffDTO.setMemberCount(Convert.toInt(memberCount, 0));
staffDTO.setClerkId(clerk.getClerkId()); staffDTO.setClerkId(clerk.getClerkId());
staffDTO.setClerkCode(clerk.getClerkCode()); staffDTO.setClerkCode(clerk.getClerkCode());
resultList.add(EntityUtil.changeEntityNew(StaffVO.class, staffDTO)); resultList.add(EntityUtil.changeEntityNew(StaffVO.class, staffDTO));
...@@ -646,10 +646,10 @@ public class ClerkController extends WebBaseController { ...@@ -646,10 +646,10 @@ public class ClerkController extends WebBaseController {
return !over; return !over;
}).map(EnterpriseDetailDTO::getEnterpriseId).collect(Collectors.toList()); }).map(EnterpriseDetailDTO::getEnterpriseId).collect(Collectors.toList());
List<String> storeIds = wxEnterpriseRelatedApiService.listStoreIdByWxEnterpriseId(wxEnterpriseId); List<String> storeIds = wxEnterpriseRelatedApiService.listStoreIdByWxEnterpriseId(wxEnterpriseId);
if(CollectionUtils.isEmpty(storeIds)) { if (CollectionUtils.isEmpty(storeIds)) {
return resultResponse(HaoBanErrCode.ERR_1, new ArrayList<>()); return resultResponse(HaoBanErrCode.ERR_1, new ArrayList<>());
} }
logger.info("查询到企微门店数={},{}",storeIds.size(),storeIds); logger.info("查询到企微门店数={},{}", storeIds.size(), storeIds);
List<ClerkDTO> clerkList = clerkNewService.listClerkByEnterpriseIdAndSearchAndClerkType(enterpriseIdList, storeIds, keyword); List<ClerkDTO> clerkList = clerkNewService.listClerkByEnterpriseIdAndSearchAndClerkType(enterpriseIdList, storeIds, keyword);
List<ClerkStoreVO> clerkStoreList = buildClerkRelation(clerkList, enterpriseIdList); List<ClerkStoreVO> clerkStoreList = buildClerkRelation(clerkList, enterpriseIdList);
return resultResponse(HaoBanErrCode.ERR_1, clerkStoreList); return resultResponse(HaoBanErrCode.ERR_1, clerkStoreList);
...@@ -919,9 +919,7 @@ public class ClerkController extends WebBaseController { ...@@ -919,9 +919,7 @@ public class ClerkController extends WebBaseController {
return resultResponse(HaoBanErrCode.ERR_111145); return resultResponse(HaoBanErrCode.ERR_111145);
} }
staffClerkRelationApiService.delByStoreIdAndCode(storeId, clerkCode); staffClerkRelationApiService.unbindByStaffAndClerkId(staffId, clerkId, ChannelCodeEnum.SELF_UNBIND.getCode());
//加入日志
staffClerkRelationApiService.pushToBindLog(staffClerkRelation.getStaffId(), clerkId, BindTypeEnum.UNBIND.getVal(), ChannelCodeEnum.SELF_UNBIND.getCode(), staffClerkRelation.getStaffClerkRelationId());
return resultResponse(HaoBanErrCode.ERR_1); return resultResponse(HaoBanErrCode.ERR_1);
} }
...@@ -1217,14 +1215,14 @@ public class ClerkController extends WebBaseController { ...@@ -1217,14 +1215,14 @@ public class ClerkController extends WebBaseController {
if (StringUtils.isNotBlank(wxOpenId)) { if (StringUtils.isNotBlank(wxOpenId)) {
return RestResponse.successResult(wxOpenId); return RestResponse.successResult(wxOpenId);
} }
WxEnterpriseQwDTO qwDTO = this.wxEnterpriseApiService.getQwInfo(wxEnterpriseId) ; WxEnterpriseQwDTO qwDTO = this.wxEnterpriseApiService.getQwInfo(wxEnterpriseId);
if (qwDTO == null) { if (qwDTO == null) {
int code = HaoBanErrCode.ERR_400002.getCode(); int code = HaoBanErrCode.ERR_400002.getCode();
return RestResponse.failure(String.valueOf(code), HaoBanErrCode.ERR_400002.getMsg()); return RestResponse.failure(String.valueOf(code), HaoBanErrCode.ERR_400002.getMsg());
} }
String wxUserId = staffDTO.getWxUserId(); String wxUserId = staffDTO.getWxUserId();
if(qwDTO.needOpenUserId3th()) { if (qwDTO.needOpenUserId3th()) {
wxUserId = staffDTO.getWxOpenUseId() ; wxUserId = staffDTO.getWxOpenUseId();
} }
String openid = qywxUserApiService.getSelfOpenIdByUserId(qwDTO.getThirdCorpid(), config.getWxSuiteid(), wxUserId); String openid = qywxUserApiService.getSelfOpenIdByUserId(qwDTO.getThirdCorpid(), config.getWxSuiteid(), wxUserId);
if (StringUtils.isBlank(openid)) { if (StringUtils.isBlank(openid)) {
......
...@@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.alibaba.dubbo.common.utils.CollectionUtils; import com.alibaba.dubbo.common.utils.CollectionUtils;
import com.alibaba.fastjson.JSON;
import com.gic.clerk.api.dto.ClerkDTO; import com.gic.clerk.api.dto.ClerkDTO;
import com.gic.clerk.api.service.ClerkService; import com.gic.clerk.api.service.ClerkService;
import com.gic.commons.util.EntityUtil; import com.gic.commons.util.EntityUtil;
...@@ -105,49 +106,35 @@ public class StoreController extends WebBaseController { ...@@ -105,49 +106,35 @@ public class StoreController extends WebBaseController {
logger.info("没有关联任何商户:{}", wxEnterpriseId); logger.info("没有关联任何商户:{}", wxEnterpriseId);
return resultResponse(HaoBanErrCode.ERR_1); return resultResponse(HaoBanErrCode.ERR_1);
} }
Map<String, EnterpriseDetailDTO> enterpriseTypeMap = enterpriseList.stream().collect(Collectors.toMap(dto -> dto.getEnterpriseId(), dto -> dto)); List<String> enterpriseIdList = enterpriseList.stream().filter(dto->{
String enterpriseId = dto.getEnterpriseId() ;
return !this.wxEnterpriseApiService.haobanIsStop(enterpriseId);
}).map(EnterpriseDetailDTO::getEnterpriseId).collect(Collectors.toList());
if (CollectionUtils.isEmpty(enterpriseIdList)) {
logger.info("没有关联任何商户或商户都已停用:{}", wxEnterpriseId);
return resultResponse(HaoBanErrCode.ERR_1);
}
List<String> enterpriseIdList = enterpriseList.stream().map(EnterpriseDetailDTO::getEnterpriseId).collect(Collectors.toList()); Map<String, EnterpriseDetailDTO> enterpriseTypeMap = enterpriseList.stream().collect(Collectors.toMap(dto -> dto.getEnterpriseId(), dto -> dto));
List<StaffClerkRelationDTO> bindRelationList = staffClerkRelationApiService.listBindCodeByStaffId(enterpriseIdList, staffId); List<StaffClerkRelationDTO> bindRelationList = staffClerkRelationApiService.listBindCodeByStaffId(enterpriseIdList, staffId);
if (CollectionUtils.isEmpty(bindRelationList)) { if (CollectionUtils.isEmpty(bindRelationList)) {
logger.info("没有关联任何商户导购:{}", wxEnterpriseId); logger.info("没有关联任何商户导购:{}", wxEnterpriseId);
return resultResponse(HaoBanErrCode.ERR_1); return resultResponse(HaoBanErrCode.ERR_1);
} }
Map<String,Boolean> map = new HashMap<>(); logger.info("成员绑定导购数据={}",JSON.toJSONString(bindRelationList));
for (StaffClerkRelationDTO staffClerkRelationDTO : bindRelationList) { for (StaffClerkRelationDTO staffClerkRelationDTO : bindRelationList) {
String storeId = staffClerkRelationDTO.getStoreId() ; String storeId = staffClerkRelationDTO.getStoreId() ;
StoreDTO store = storeService.getStore(storeId); StoreDTO store = storeService.getStore(storeId);
if (store == null) { if (store == null) {
continue; continue;
} }
String enterprsieId = store.getEnterpriseId() ; String enterpriseId = store.getEnterpriseId();
if(StringUtils.isNotBlank(gicEnterpriseId) && !gicEnterpriseId.equals(enterprsieId)) { if(StringUtils.isNotBlank(gicEnterpriseId) && !gicEnterpriseId.equals(enterpriseId)) {
logger.info("非当前商户,直接跳过={},{}",gicEnterpriseId,enterprsieId); logger.info("非当前商户,直接跳过={},{}",gicEnterpriseId,enterpriseId);
continue ;
}
if(null != map.get(enterprsieId)) {
if(Boolean.FALSE.equals(map.get(enterprsieId))) {
logger.info("该企业过期,{}", enterprsieId);
continue ; continue ;
} }
}else { ClerkDTO clerk = clerkService.getClerkByClerkCode(enterpriseId, staffClerkRelationDTO.getClerkCode());
boolean enterpriseOver = isEnterpriseOver(enterprsieId);
if (enterpriseOver) {
logger.info("该企业过期,{}", staffId, enterprsieId);
map.put(enterprsieId, false) ;
continue;
}
/* Integer code = this.enterpriseUseForbidService.selectPermissionStatus(enterprsieId, "haoban-3") ;
logger.info("是否停用={},{}",enterprsieId,code);
// 不能用
if(!(code ==0 || code==1)) {
logger.info("该企业过期,{}", staffId, enterprsieId);
map.put(enterprsieId, false) ;
continue;
}*/
}
map.put(enterprsieId, true) ;
ClerkDTO clerk = clerkService.getClerkByClerkCode(staffClerkRelationDTO.getEnterpriseId(), staffClerkRelationDTO.getClerkCode());
if (clerk == null) { if (clerk == null) {
continue; continue;
} }
...@@ -159,7 +146,6 @@ public class StoreController extends WebBaseController { ...@@ -159,7 +146,6 @@ public class StoreController extends WebBaseController {
if (wxEnterpriseDTO == null) { if (wxEnterpriseDTO == null) {
continue; continue;
} }
String enterpriseId = clerk.getEnterpriseId();
EnterpriseDTO enterpriseDTO = enterpriseService.getEnterpriseById(enterpriseId); EnterpriseDTO enterpriseDTO = enterpriseService.getEnterpriseById(enterpriseId);
if (enterpriseDTO == null) { if (enterpriseDTO == null) {
continue; continue;
...@@ -321,7 +307,7 @@ public class StoreController extends WebBaseController { ...@@ -321,7 +307,7 @@ public class StoreController extends WebBaseController {
AuditDTO auditDTO = auditApiService.findByStoreIdAndChangeField(storeId, changeField); AuditDTO auditDTO = auditApiService.findByStoreIdAndChangeField(storeId, changeField);
if (auditDTO == null) { if (auditDTO == null) {
//为空,可继续提交审核 //为空,可继续提交审核
int i = auditApiService.save(1, wxEnterpriseId, enterpriseId, staffId, storeId, changeField, oldValue, newValue); auditApiService.save(1, wxEnterpriseId, enterpriseId, staffId, storeId, changeField, oldValue, newValue);
} else { } else {
return resultResponse(HaoBanErrCode.ERR_400018); return resultResponse(HaoBanErrCode.ERR_400018);
} }
...@@ -380,23 +366,4 @@ public class StoreController extends WebBaseController { ...@@ -380,23 +366,4 @@ public class StoreController extends WebBaseController {
} }
return resultResponse(HaoBanErrCode.ERR_1, vo); return resultResponse(HaoBanErrCode.ERR_1, vo);
} }
public boolean isEnterpriseOver(String enterpriseId) {
EnterpriseDTO enterprise = enterpriseService.getEnterpriseById(enterpriseId);
if (enterprise == null || enterprise.getStatus() != 1) {
return true;
}
if (enterprise.getExpireTime() == null) {
if (enterprise.getEnabledState() == null) {
return false;
} else {
return enterprise.getEnabledState() != 1;
}
} else {
return enterprise.getExpireTime().getTime() <= System.currentTimeMillis() || enterprise.getEnabledState() != 1;
}
}
} }
package com.gic.haoban.manage.web.controller; package com.gic.haoban.manage.web.controller;
import cn.hutool.core.collection.CollectionUtil; import java.util.ArrayList;
import cn.hutool.core.convert.Convert; import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.ServiceResponse;
import com.gic.clerk.api.dto.ClerkDTO; import com.gic.clerk.api.dto.ClerkDTO;
import com.gic.clerk.api.service.ClerkService; import com.gic.clerk.api.service.ClerkService;
import com.gic.commons.webapi.reponse.RestResponse; import com.gic.commons.webapi.reponse.RestResponse;
...@@ -12,7 +32,11 @@ import com.gic.dict.api.service.ManagerDictService; ...@@ -12,7 +32,11 @@ import com.gic.dict.api.service.ManagerDictService;
import com.gic.enterprise.api.dto.EnterpriseDTO; import com.gic.enterprise.api.dto.EnterpriseDTO;
import com.gic.enterprise.api.dto.StoreDTO; import com.gic.enterprise.api.dto.StoreDTO;
import com.gic.enterprise.api.service.EnterpriseService; import com.gic.enterprise.api.service.EnterpriseService;
import com.gic.haoban.app.customer.dto.*; import com.gic.haoban.app.customer.dto.ChildDTO;
import com.gic.haoban.app.customer.dto.CustomerDTO;
import com.gic.haoban.app.customer.dto.FilterListDTO;
import com.gic.haoban.app.customer.dto.MemberInfoListParamsDTO;
import com.gic.haoban.app.customer.dto.StaffOpenRelatedDTO;
import com.gic.haoban.app.customer.service.api.service.CustomerApiService; import com.gic.haoban.app.customer.service.api.service.CustomerApiService;
import com.gic.haoban.app.customer.service.api.service.StaffMemberRelationApiService; import com.gic.haoban.app.customer.service.api.service.StaffMemberRelationApiService;
import com.gic.haoban.common.anno.HttpLimit; import com.gic.haoban.common.anno.HttpLimit;
...@@ -21,9 +45,29 @@ import com.gic.haoban.common.utils.AuthRequestWellDoneUtil; ...@@ -21,9 +45,29 @@ import com.gic.haoban.common.utils.AuthRequestWellDoneUtil;
import com.gic.haoban.common.utils.EntityUtil; import com.gic.haoban.common.utils.EntityUtil;
import com.gic.haoban.common.utils.HaobanResponse; import com.gic.haoban.common.utils.HaobanResponse;
import com.gic.haoban.common.utils.JwtUtil; import com.gic.haoban.common.utils.JwtUtil;
import com.gic.haoban.manage.api.dto.*; import com.gic.haoban.manage.api.dto.ClerkMainStoreRelatedDTO;
import com.gic.haoban.manage.api.dto.ExternalClerkRelatedDTO;
import com.gic.haoban.manage.api.dto.ExternalUserDTO;
import com.gic.haoban.manage.api.dto.MemberStoreDTO;
import com.gic.haoban.manage.api.dto.MemberUnionidRelatedDTO;
import com.gic.haoban.manage.api.dto.MiniprogramSettingDTO;
import com.gic.haoban.manage.api.dto.SecretSettingDTO;
import com.gic.haoban.manage.api.dto.StaffClerkInfoDTO;
import com.gic.haoban.manage.api.dto.StaffDTO;
import com.gic.haoban.manage.api.dto.StaffPrivacyUseLogDTO;
import com.gic.haoban.manage.api.dto.UserLoginLogDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseQwDTO;
import com.gic.haoban.manage.api.dto.WxEnterpriseRelationDetailDTO;
import com.gic.haoban.manage.api.dto.YwWxEnterpriseDTO;
import com.gic.haoban.manage.api.enums.SecretTypeEnum; import com.gic.haoban.manage.api.enums.SecretTypeEnum;
import com.gic.haoban.manage.api.service.*; import com.gic.haoban.manage.api.service.ClerkMainStoreRelatedApiService;
import com.gic.haoban.manage.api.service.ExternalClerkRelatedApiService;
import com.gic.haoban.manage.api.service.MemberUnionidRelatedApiService;
import com.gic.haoban.manage.api.service.StaffApiService;
import com.gic.haoban.manage.api.service.StaffClerkRelationApiService;
import com.gic.haoban.manage.api.service.WxEnterpriseApiService;
import com.gic.haoban.manage.api.service.WxEnterpriseRelatedApiService;
import com.gic.haoban.manage.web.config.Config; import com.gic.haoban.manage.web.config.Config;
import com.gic.haoban.manage.web.errCode.HaoBanErrCode; import com.gic.haoban.manage.web.errCode.HaoBanErrCode;
import com.gic.haoban.manage.web.qo.GetUserByMemberCodeQo; import com.gic.haoban.manage.web.qo.GetUserByMemberCodeQo;
...@@ -38,21 +82,9 @@ import com.gic.member.api.service.MemberOpenCardBusinessService; ...@@ -38,21 +82,9 @@ import com.gic.member.api.service.MemberOpenCardBusinessService;
import com.gic.wechat.api.dto.qywx.UserDTO; import com.gic.wechat.api.dto.qywx.UserDTO;
import com.gic.wechat.api.service.qywx.QywxCorpApiService; import com.gic.wechat.api.service.qywx.QywxCorpApiService;
import com.gic.wechat.api.service.qywx.QywxUserApiService; import com.gic.wechat.api.service.qywx.QywxUserApiService;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest; import cn.hutool.core.collection.CollectionUtil;
import javax.validation.Valid; import cn.hutool.core.convert.Convert;
import java.util.*;
import java.util.stream.Collectors;
@RestController @RestController
public class WxEnterpriseInfoController extends WebBaseController { public class WxEnterpriseInfoController extends WebBaseController {
...@@ -90,8 +122,6 @@ public class WxEnterpriseInfoController extends WebBaseController { ...@@ -90,8 +122,6 @@ public class WxEnterpriseInfoController extends WebBaseController {
@Autowired @Autowired
private Config config; private Config config;
@Autowired @Autowired
private WxApplicationApiService wxApplicationApiService;
@Autowired
private ClerkMainStoreRelatedApiService clerkMainStoreRelatedApiService; private ClerkMainStoreRelatedApiService clerkMainStoreRelatedApiService;
@Autowired @Autowired
private CustomerApiService customerApiService; private CustomerApiService customerApiService;
...@@ -117,6 +147,14 @@ public class WxEnterpriseInfoController extends WebBaseController { ...@@ -117,6 +147,14 @@ public class WxEnterpriseInfoController extends WebBaseController {
} }
String userId = user.getUserid(); String userId = user.getUserid();
String corpId = user.getCorpid(); String corpId = user.getCorpid();
// 判断好办是否到期
ServiceResponse<Boolean> resp = this.wxEnterpriseApiService.isStopHaoban(corpId);
if (!resp.isSuccess()) {
HaobanResponse response = new HaobanResponse();
response.setErrorCode(-888);
response.setMessage(resp.getMessage());
return response;
}
WxEnterpriseDTO enterprise = wxEnterpriseApiService.getEnterpriseBycorpId(corpId); WxEnterpriseDTO enterprise = wxEnterpriseApiService.getEnterpriseBycorpId(corpId);
StaffDTO loginStaff = null; StaffDTO loginStaff = null;
if (enterprise != null) { if (enterprise != null) {
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
<!-- 应用名称 --> <!-- 应用名称 -->
<dubbo:application name="haoban-manage3-wx"/> <dubbo:application name="haoban-manage3-wx"/>
<dubbo:protocol name="dubbo" port="30010"/> <dubbo:protocol name="dubbo" port="30010"/>
<dubbo:reference interface="com.gic.enterprise.api.service.EnterpriseUseForbidService" id="enterpriseUseForbidService"/>
<dubbo:reference interface="com.gic.haoban.manage.api.service.StaffDepartmentRelatedApiService" <dubbo:reference interface="com.gic.haoban.manage.api.service.StaffDepartmentRelatedApiService"
id="staffDepartmentRelatedApiService"/> id="staffDepartmentRelatedApiService"/>
<dubbo:reference interface="com.gic.clerk.api.service.ClerkService" id="clerkService"/> <dubbo:reference interface="com.gic.clerk.api.service.ClerkService" id="clerkService"/>
......
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