Commit 360ac760 by fudahua

生产config

parent 56d68df1
...@@ -114,4 +114,12 @@ public interface StaffClerkRelationApiService { ...@@ -114,4 +114,12 @@ public interface StaffClerkRelationApiService {
*/ */
public void pushToBindLog(String staffId,String optStaffId,int optType,int channelCode,String relationId); public void pushToBindLog(String staffId,String optStaffId,int optType,int channelCode,String relationId);
/**
* 获取config
* @param clerkId
* @param memberId
* @return
*/
ServiceResponse<String> getClerkMemberChatConfig(String clerkId,String memberId);
} }
package com.gic.haoban.manage.service.dao.mapper;
import com.gic.haoban.manage.service.entity.MemberClerkChatConfig;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface TabHaobanMemberClerkChatConfigMapper {
/**
*/
int deleteByPrimaryKey(Integer memberClerkChatConfigId);
/**
*/
int insert(MemberClerkChatConfig record);
/**
*/
int insertSelective(MemberClerkChatConfig record);
/**
*/
MemberClerkChatConfig selectByPrimaryKey(Integer memberClerkChatConfigId);
/**
*/
int updateByPrimaryKeySelective(MemberClerkChatConfig record);
/**
*/
int updateByPrimaryKey(MemberClerkChatConfig record);
/**
*/
MemberClerkChatConfig getChatByMemberIdStaffId(@Param("memberId") String memberId, @Param("staffId") String staffId);
}
\ No newline at end of file
package com.gic.haoban.manage.service.entity;
import java.io.Serializable;
import java.util.Date;
/**
* Created By MBG-GUI-EXTENSION https://github.com/spawpaw/mybatis-generator-gui-extension
* Description:
*
* @author fdh
*/
public class MemberClerkChatConfig implements Serializable {
/**
*
*/
private Integer memberClerkChatConfigId;
/**
*
*/
private String staffId;
/**
*
*/
private String enterpriseId;
/**
*
*/
private String memberId;
/**
*
*/
private String configId;
/**
* 0 删除 1整除
*
*/
private Integer status;
/**
*
*/
private Date createTime;
/**
*
*/
private Date updateTime;
/**
*/
private static final long serialVersionUID = 1L;
/**
* This method returns the value of the database column tab_haoban_member_clerk_chat_config.member_clerk_chat_config_id
*
* @return the value of tab_haoban_member_clerk_chat_config.member_clerk_chat_config_id
*/
public Integer getMemberClerkChatConfigId() {
return memberClerkChatConfigId;
}
/**
* This method sets the value of the database column tab_haoban_member_clerk_chat_config.member_clerk_chat_config_id
*
* @param memberClerkChatConfigId the value for tab_haoban_member_clerk_chat_config.member_clerk_chat_config_id
*/
public void setMemberClerkChatConfigId(Integer memberClerkChatConfigId) {
this.memberClerkChatConfigId = memberClerkChatConfigId;
}
/**
* This method returns the value of the database column tab_haoban_member_clerk_chat_config.staff_id
*
* @return the value of tab_haoban_member_clerk_chat_config.staff_id
*/
public String getStaffId() {
return staffId;
}
/**
* This method sets the value of the database column tab_haoban_member_clerk_chat_config.staff_id
*
* @param staffId the value for tab_haoban_member_clerk_chat_config.staff_id
*/
public void setStaffId(String staffId) {
this.staffId = staffId;
}
/**
* This method returns the value of the database column tab_haoban_member_clerk_chat_config.enterprise_id
*
* @return the value of tab_haoban_member_clerk_chat_config.enterprise_id
*/
public String getEnterpriseId() {
return enterpriseId;
}
/**
* This method sets the value of the database column tab_haoban_member_clerk_chat_config.enterprise_id
*
* @param enterpriseId the value for tab_haoban_member_clerk_chat_config.enterprise_id
*/
public void setEnterpriseId(String enterpriseId) {
this.enterpriseId = enterpriseId;
}
/**
* This method returns the value of the database column tab_haoban_member_clerk_chat_config.member_id
*
* @return the value of tab_haoban_member_clerk_chat_config.member_id
*/
public String getMemberId() {
return memberId;
}
/**
* This method sets the value of the database column tab_haoban_member_clerk_chat_config.member_id
*
* @param memberId the value for tab_haoban_member_clerk_chat_config.member_id
*/
public void setMemberId(String memberId) {
this.memberId = memberId;
}
/**
* This method returns the value of the database column tab_haoban_member_clerk_chat_config.config_id
*
* @return the value of tab_haoban_member_clerk_chat_config.config_id
*/
public String getConfigId() {
return configId;
}
/**
* This method sets the value of the database column tab_haoban_member_clerk_chat_config.config_id
*
* @param configId the value for tab_haoban_member_clerk_chat_config.config_id
*/
public void setConfigId(String configId) {
this.configId = configId;
}
/**
* This method returns the value of the database column tab_haoban_member_clerk_chat_config.status
*
* @return the value of tab_haoban_member_clerk_chat_config.status
*/
public Integer getStatus() {
return status;
}
/**
* This method sets the value of the database column tab_haoban_member_clerk_chat_config.status
*
* @param status the value for tab_haoban_member_clerk_chat_config.status
*/
public void setStatus(Integer status) {
this.status = status;
}
/**
* This method returns the value of the database column tab_haoban_member_clerk_chat_config.create_time
*
* @return the value of tab_haoban_member_clerk_chat_config.create_time
*/
public Date getCreateTime() {
return createTime;
}
/**
* This method sets the value of the database column tab_haoban_member_clerk_chat_config.create_time
*
* @param createTime the value for tab_haoban_member_clerk_chat_config.create_time
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
/**
* This method returns the value of the database column tab_haoban_member_clerk_chat_config.update_time
*
* @return the value of tab_haoban_member_clerk_chat_config.update_time
*/
public Date getUpdateTime() {
return updateTime;
}
/**
* This method sets the value of the database column tab_haoban_member_clerk_chat_config.update_time
*
* @param updateTime the value for tab_haoban_member_clerk_chat_config.update_time
*/
public void setUpdateTime(Date updateTime) {
this.updateTime = updateTime;
}
}
\ No newline at end of file
...@@ -3,7 +3,9 @@ package com.gic.haoban.manage.service.service; ...@@ -3,7 +3,9 @@ package com.gic.haoban.manage.service.service;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import com.gic.haoban.base.api.common.ServiceResponse;
import com.gic.haoban.manage.api.dto.StaffClerkRelationDTO; import com.gic.haoban.manage.api.dto.StaffClerkRelationDTO;
import com.gic.haoban.manage.service.entity.MemberClerkChatConfig;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
public interface StaffClerkRelationService { public interface StaffClerkRelationService {
...@@ -57,4 +59,19 @@ public interface StaffClerkRelationService { ...@@ -57,4 +59,19 @@ public interface StaffClerkRelationService {
List<StaffClerkRelationDTO> lisByStaffId(String wxEnterpriseId, String staffId); List<StaffClerkRelationDTO> lisByStaffId(String wxEnterpriseId, String staffId);
/**
* 保存
* @param memberClerkChatConfig
*/
public void saveChatConfig(MemberClerkChatConfig memberClerkChatConfig);
/**
*
* @param staffId
* @param memberId
* @return
*/
public MemberClerkChatConfig getChatConfig(String staffId,String memberId);
} }
package com.gic.haoban.manage.service.service.impl; package com.gic.haoban.manage.service.service.impl;
import java.util.Collections; import java.util.*;
import java.util.Date;
import java.util.List;
import java.util.Set;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.gic.commons.util.ToolUtil; import com.gic.commons.util.ToolUtil;
import com.gic.haoban.base.api.common.ServiceResponse;
import com.gic.haoban.manage.api.enums.BindTypeEnum; import com.gic.haoban.manage.api.enums.BindTypeEnum;
import com.gic.haoban.manage.api.enums.ChannelCodeEnum; import com.gic.haoban.manage.api.enums.ChannelCodeEnum;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanMemberClerkChatConfigMapper;
import com.gic.haoban.manage.service.entity.MemberClerkChatConfig;
import com.gic.haoban.manage.service.entity.TabHaobanClerkMainStoreRelated; import com.gic.haoban.manage.service.entity.TabHaobanClerkMainStoreRelated;
import com.gic.haoban.manage.service.entity.TabHaobanStaffClerkRelation; import com.gic.haoban.manage.service.entity.TabHaobanStaffClerkRelation;
import com.gic.haoban.manage.service.service.ClerkMainStoreRelatedService; import com.gic.haoban.manage.service.service.ClerkMainStoreRelatedService;
import com.gic.haoban.manage.service.service.ExternalClerkRelatedService; import com.gic.haoban.manage.service.service.ExternalClerkRelatedService;
import com.gic.haoban.manage.service.service.StaffClerkBindLogService; import com.gic.haoban.manage.service.service.StaffClerkBindLogService;
import com.gic.haoban.manage.service.service.StaffService; import com.gic.haoban.manage.service.service.StaffService;
import com.gic.wechat.api.dto.qywx.QywxExternalcontactDTO;
import javafx.scene.control.Tab; import javafx.scene.control.Tab;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
...@@ -33,7 +34,7 @@ import com.gic.haoban.manage.service.service.StaffClerkRelationService; ...@@ -33,7 +34,7 @@ import com.gic.haoban.manage.service.service.StaffClerkRelationService;
@Service @Service
public class StaffClerkRelationServiceImpl implements StaffClerkRelationService { public class StaffClerkRelationServiceImpl implements StaffClerkRelationService {
private static final Logger logger= LoggerFactory.getLogger(StaffClerkRelationServiceImpl.class); private static final Logger logger = LoggerFactory.getLogger(StaffClerkRelationServiceImpl.class);
@Autowired @Autowired
private TabHaobanStaffClerkRelationMapper mapper; private TabHaobanStaffClerkRelationMapper mapper;
...@@ -53,20 +54,24 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService ...@@ -53,20 +54,24 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService
@Autowired @Autowired
private ClerkMainStoreRelatedService clerkMainStoreRelatedService; private ClerkMainStoreRelatedService clerkMainStoreRelatedService;
@Autowired
private TabHaobanMemberClerkChatConfigMapper memberClerkChatConfigMapper;
@Override @Override
public List<StaffClerkRelationDTO> listBindCode(String enterpriseId, Set<String> clerkCodeList) { public List<StaffClerkRelationDTO> listBindCode(String enterpriseId, Set<String> clerkCodeList) {
return EntityUtil.changeEntityListByJSON(StaffClerkRelationDTO.class, mapper.listBindCode(enterpriseId,clerkCodeList)); return EntityUtil.changeEntityListByJSON(StaffClerkRelationDTO.class, mapper.listBindCode(enterpriseId, clerkCodeList));
} }
@Override @Override
public List<StaffClerkRelationDTO> listBindCodeByStaffId(List<String> enterpriseIdList, String staffId) { public List<StaffClerkRelationDTO> listBindCodeByStaffId(List<String> enterpriseIdList, String staffId) {
return EntityUtil.changeEntityListByJSON(StaffClerkRelationDTO.class, mapper.listBindCodeByStaffId(enterpriseIdList,staffId)); return EntityUtil.changeEntityListByJSON(StaffClerkRelationDTO.class, mapper.listBindCodeByStaffId(enterpriseIdList, staffId));
} }
@Override @Override
public boolean delBind(String clerkId,String optStaffId,int chanelCode) { public boolean delBind(String clerkId, String optStaffId, int chanelCode) {
TabHaobanStaffClerkRelation clerkRelation = mapper.getByClerkId(clerkId); TabHaobanStaffClerkRelation clerkRelation = mapper.getByClerkId(clerkId);
if (null == clerkRelation) { if (null == clerkRelation) {
logger.info("已经不存在:{},{}",clerkId,optStaffId); logger.info("已经不存在:{},{}", clerkId, optStaffId);
return true; return true;
} }
TabHaobanStaffClerkRelation staffClerkRelation = tabHaobanStaffClerkRelationMapper.getOneByClerkId(clerkId); TabHaobanStaffClerkRelation staffClerkRelation = tabHaobanStaffClerkRelationMapper.getOneByClerkId(clerkId);
...@@ -75,13 +80,13 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService ...@@ -75,13 +80,13 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService
boolean b = i >= 0; boolean b = i >= 0;
if (b) { if (b) {
//推入日志 //推入日志
staffClerkBindLogService.pushToMq(clerkRelation.getStaffId(),optStaffId, BindTypeEnum.UNBIND.getVal(),chanelCode,clerkRelation.getStaffClerkRelationId()); staffClerkBindLogService.pushToMq(clerkRelation.getStaffId(), optStaffId, BindTypeEnum.UNBIND.getVal(), chanelCode, clerkRelation.getStaffClerkRelationId());
} }
return b; return b;
} }
private void delSetMainStore(TabHaobanStaffClerkRelation staffClerkRelation){ private void delSetMainStore(TabHaobanStaffClerkRelation staffClerkRelation) {
if(staffClerkRelation == null){ if (staffClerkRelation == null) {
logger.info("staffClerkRelation为空"); logger.info("staffClerkRelation为空");
return; return;
} }
...@@ -92,26 +97,26 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService ...@@ -92,26 +97,26 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService
clerkMainStoreRelatedService.update(r); clerkMainStoreRelatedService.update(r);
externalClerkRelatedService.delByClerkIdAndStaffId(staffClerkRelation.getClerkId(), staffId); externalClerkRelatedService.delByClerkIdAndStaffId(staffClerkRelation.getClerkId(), staffId);
List<StaffClerkRelationDTO> list = this.lisByStaffId(wxEnterpriseId, staffId); List<StaffClerkRelationDTO> list = this.lisByStaffId(wxEnterpriseId, staffId);
if(list != null && list.size() >= 1){ if (list != null && list.size() >= 1) {
clerkMainStoreRelatedService.setMainStore(staffId, list.get(list.size()-1).getStoreId(), wxEnterpriseId); clerkMainStoreRelatedService.setMainStore(staffId, list.get(list.size() - 1).getStoreId(), wxEnterpriseId);
} }
} }
private void setMainStore(StaffClerkRelationDTO staffClerkRelation){ private void setMainStore(StaffClerkRelationDTO staffClerkRelation) {
if(staffClerkRelation == null){ if (staffClerkRelation == null) {
logger.info("staffClerkRelation为空"); logger.info("staffClerkRelation为空");
return; return;
} }
String staffId = staffClerkRelation.getStaffId(); String staffId = staffClerkRelation.getStaffId();
String wxEnterpriseId = staffClerkRelation.getWxEnterpriseId(); String wxEnterpriseId = staffClerkRelation.getWxEnterpriseId();
List<StaffClerkRelationDTO> list = this.lisByStaffId(wxEnterpriseId, staffId); List<StaffClerkRelationDTO> list = this.lisByStaffId(wxEnterpriseId, staffId);
if(list != null && list.size() == 1){ if (list != null && list.size() == 1) {
clerkMainStoreRelatedService.setMainStore(staffId, staffClerkRelation.getStoreId(), wxEnterpriseId); clerkMainStoreRelatedService.setMainStore(staffId, staffClerkRelation.getStoreId(), wxEnterpriseId);
} }
} }
@Override @Override
public String bind(StaffClerkRelationDTO dto,String optStaffId,int chanelCode) { public String bind(StaffClerkRelationDTO dto, String optStaffId, int chanelCode) {
dto.setStaffClerkRelationId(ToolUtil.randomUUID()); dto.setStaffClerkRelationId(ToolUtil.randomUUID());
dto.setStatusFlag(1); dto.setStatusFlag(1);
dto.setCreateTime(new Date()); dto.setCreateTime(new Date());
...@@ -122,33 +127,33 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService ...@@ -122,33 +127,33 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService
String s = insert > 0 ? dto.getStaffClerkRelationId() : null; String s = insert > 0 ? dto.getStaffClerkRelationId() : null;
if (null != s) { if (null != s) {
//推入日志 //推入日志
staffClerkBindLogService.pushToMq(dto.getStaffId(),optStaffId, BindTypeEnum.BIND.getVal(),chanelCode,dto.getStaffClerkRelationId()); staffClerkBindLogService.pushToMq(dto.getStaffId(), optStaffId, BindTypeEnum.BIND.getVal(), chanelCode, dto.getStaffClerkRelationId());
} }
return s; return s;
} }
@Override @Override
public boolean updateByClerkId(StaffClerkRelationDTO dto) { public boolean updateByClerkId(StaffClerkRelationDTO dto) {
if (StringUtils.isAnyBlank(dto.getClerkCode(),dto.getClerkId(),dto.getStoreId())) { if (StringUtils.isAnyBlank(dto.getClerkCode(), dto.getClerkId(), dto.getStoreId())) {
logger.info("操作不对:{}", JSONObject.toJSONString(dto)); logger.info("操作不对:{}", JSONObject.toJSONString(dto));
return false; return false;
} }
int i = mapper.updateByClerkId(EntityUtil.changeEntityByJSON(TabHaobanStaffClerkRelation.class, dto)); int i = mapper.updateByClerkId(EntityUtil.changeEntityByJSON(TabHaobanStaffClerkRelation.class, dto));
return i>=0; return i >= 0;
} }
@Override @Override
public StaffClerkRelationDTO getBindByClerkId(String clerkId, String wxEnterpriseId) { public StaffClerkRelationDTO getBindByClerkId(String clerkId, String wxEnterpriseId) {
TabHaobanStaffClerkRelation relation = mapper.getBindByClerkId(clerkId, wxEnterpriseId); TabHaobanStaffClerkRelation relation = mapper.getBindByClerkId(clerkId, wxEnterpriseId);
return EntityUtil.changeEntityByJSON(StaffClerkRelationDTO.class,relation); return EntityUtil.changeEntityByJSON(StaffClerkRelationDTO.class, relation);
} }
@Override @Override
public StaffClerkRelationDTO getByCodeAndEnterpriseId(String clerkCode, String enterpriseId) { public StaffClerkRelationDTO getByCodeAndEnterpriseId(String clerkCode, String enterpriseId) {
return EntityUtil.changeEntityByJSON(StaffClerkRelationDTO.class, mapper.getByCodeAndEnterpriseId(clerkCode,enterpriseId)); return EntityUtil.changeEntityByJSON(StaffClerkRelationDTO.class, mapper.getByCodeAndEnterpriseId(clerkCode, enterpriseId));
} }
@Override @Override
public String insert(StaffClerkRelationDTO staffClerkRelation) { public String insert(StaffClerkRelationDTO staffClerkRelation) {
String uuid = StringUtil.randomUUID(); String uuid = StringUtil.randomUUID();
...@@ -160,43 +165,61 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService ...@@ -160,43 +165,61 @@ public class StaffClerkRelationServiceImpl implements StaffClerkRelationService
mapper.insert(relation); mapper.insert(relation);
return uuid; return uuid;
} }
@Override @Override
public int cleanStaffClerk(String wxEnterpriseId, List<String> delStaffIds) { public int cleanStaffClerk(String wxEnterpriseId, List<String> delStaffIds) {
delStaffIds.forEach(staffId->{ delStaffIds.forEach(staffId -> {
List<StaffClerkRelationDTO> relationDTOS = listBindCodeByStaffId(null, staffId); List<StaffClerkRelationDTO> relationDTOS = listBindCodeByStaffId(null, staffId);
if (CollectionUtils.isNotEmpty(relationDTOS)) { if (CollectionUtils.isNotEmpty(relationDTOS)) {
relationDTOS.forEach(mid->{ relationDTOS.forEach(mid -> {
staffClerkBindLogService.pushToMq(mid.getStaffId(),"-1",BindTypeEnum.UNBIND.getVal(), ChannelCodeEnum.WEIXIN_DEL.getCode(),mid.getStaffClerkRelationId()); staffClerkBindLogService.pushToMq(mid.getStaffId(), "-1", BindTypeEnum.UNBIND.getVal(), ChannelCodeEnum.WEIXIN_DEL.getCode(), mid.getStaffClerkRelationId());
}); });
} }
}); });
int ret = mapper.cleanStaffDepart(wxEnterpriseId, delStaffIds); int ret = mapper.cleanStaffDepart(wxEnterpriseId, delStaffIds);
externalClerkRelatedService.cleanStaffRelated(wxEnterpriseId,delStaffIds); externalClerkRelatedService.cleanStaffRelated(wxEnterpriseId, delStaffIds);
return ret; return ret;
} }
@Override @Override
public StaffClerkRelationDTO getOneBindCodeNoStatus(String enterpriseId, String clerkCode) { public StaffClerkRelationDTO getOneBindCodeNoStatus(String enterpriseId, String clerkCode) {
return EntityUtil.changeEntityByJSON(StaffClerkRelationDTO.class,mapper.getOneBindCodeNoStatus(enterpriseId,clerkCode)); return EntityUtil.changeEntityByJSON(StaffClerkRelationDTO.class, mapper.getOneBindCodeNoStatus(enterpriseId, clerkCode));
} }
@Override @Override
public StaffClerkRelationDTO getOneBindByStoreId(String staffId, String storeId) { public StaffClerkRelationDTO getOneBindByStoreId(String staffId, String storeId) {
return EntityUtil.changeEntityByJSON(StaffClerkRelationDTO.class,mapper.getOneBindStoreId(staffId,storeId)); return EntityUtil.changeEntityByJSON(StaffClerkRelationDTO.class, mapper.getOneBindStoreId(staffId, storeId));
} }
@Override @Override
public StaffClerkRelationDTO getByClerkId(String clerkId) { public StaffClerkRelationDTO getByClerkId(String clerkId) {
return EntityUtil.changeEntityByJSON(StaffClerkRelationDTO.class,mapper.getByClerkId(clerkId)); return EntityUtil.changeEntityByJSON(StaffClerkRelationDTO.class, mapper.getByClerkId(clerkId));
} }
@Override @Override
public List<StaffClerkRelationDTO> listByClerkIds(List<String> clerkList) { public List<StaffClerkRelationDTO> listByClerkIds(List<String> clerkList) {
if(clerkList == null || clerkList.isEmpty()){ if (clerkList == null || clerkList.isEmpty()) {
return Collections.EMPTY_LIST; return Collections.EMPTY_LIST;
} }
return EntityUtil.changeEntityListByJSON(StaffClerkRelationDTO.class,mapper.listByClerkIds(clerkList)); return EntityUtil.changeEntityListByJSON(StaffClerkRelationDTO.class, mapper.listByClerkIds(clerkList));
} }
@Override @Override
public List<StaffClerkRelationDTO> lisByStaffId(String wxEnterpriseId, String staffId) { public List<StaffClerkRelationDTO> lisByStaffId(String wxEnterpriseId, String staffId) {
return EntityUtil.changeEntityListByJSON(StaffClerkRelationDTO.class, mapper.lisByStaffId(wxEnterpriseId, staffId)); return EntityUtil.changeEntityListByJSON(StaffClerkRelationDTO.class, mapper.lisByStaffId(wxEnterpriseId, staffId));
} }
@Override
public void saveChatConfig(MemberClerkChatConfig memberClerkChatConfig) {
memberClerkChatConfig.setStatus(1);
memberClerkChatConfig.setCreateTime(new Date());
memberClerkChatConfig.setUpdateTime(new Date());
memberClerkChatConfigMapper.insert(memberClerkChatConfig);
}
@Override
public MemberClerkChatConfig getChatConfig(String staffId, String memberId) {
MemberClerkChatConfig chatConfig = memberClerkChatConfigMapper.getChatByMemberIdStaffId(memberId, staffId);
return chatConfig;
}
} }
...@@ -18,22 +18,16 @@ import com.gic.haoban.manage.api.dto.*; ...@@ -18,22 +18,16 @@ import com.gic.haoban.manage.api.dto.*;
import com.gic.haoban.manage.api.enums.AuditType; import com.gic.haoban.manage.api.enums.AuditType;
import com.gic.haoban.manage.api.enums.BindTypeEnum; import com.gic.haoban.manage.api.enums.BindTypeEnum;
import com.gic.haoban.manage.api.enums.ChannelCodeEnum; import com.gic.haoban.manage.api.enums.ChannelCodeEnum;
import com.gic.haoban.manage.api.enums.SecretTypeEnum;
import com.gic.haoban.manage.api.service.AuditApiService; import com.gic.haoban.manage.api.service.AuditApiService;
import com.gic.haoban.manage.api.service.StaffClerkRelationApiService; import com.gic.haoban.manage.api.service.StaffClerkRelationApiService;
import com.gic.haoban.manage.service.dao.mapper.TabHaobanStaffClerkRelationMapper; import com.gic.haoban.manage.service.dao.mapper.TabHaobanStaffClerkRelationMapper;
import com.gic.haoban.manage.service.entity.TabHaobanClerkMainStoreRelated; import com.gic.haoban.manage.service.entity.*;
import com.gic.haoban.manage.service.entity.TabHaobanStaff; import com.gic.haoban.manage.service.entity.TabHaobanStaff;
import com.gic.haoban.manage.service.entity.TabHaobanStaffClerkBindLog; import com.gic.haoban.manage.service.service.*;
import com.gic.haoban.manage.service.entity.TabHaobanStaff;
import com.gic.haoban.manage.service.entity.TabHaobanStaffClerkRelation; import com.gic.wechat.api.dto.qywx.QywxExternalcontactDTO;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterpriseRelated; import com.gic.wechat.api.service.qywx.QywxUserApiService;
import com.gic.haoban.manage.service.service.StaffClerkBindLogService;
import com.gic.haoban.manage.service.service.ClerkMainStoreRelatedService;
import com.gic.haoban.manage.service.service.ExternalClerkRelatedService;
import com.gic.haoban.manage.service.service.StaffClerkRelationService;
import com.gic.haoban.manage.service.service.StaffService;
import com.gic.haoban.manage.service.service.WxEnterpriseRelatedService;
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.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -85,6 +79,15 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe ...@@ -85,6 +79,15 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
@Autowired @Autowired
private ExternalClerkRelatedService externalClerkRelatedService; private ExternalClerkRelatedService externalClerkRelatedService;
@Autowired
private QywxUserApiService qywxUserApiService;
@Autowired
private SecretSettingService secretSettingService;
@Autowired
private WxEnterpriseService wxEnterpriseService;
@Override @Override
public void bindLogMq(String params) { public void bindLogMq(String params) {
logger.info("绑定日志mq:{}",params); logger.info("绑定日志mq:{}",params);
...@@ -392,4 +395,58 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe ...@@ -392,4 +395,58 @@ public class StaffClerkRelationApiServiceImpl implements StaffClerkRelationApiSe
clerkMainStoreRelatedService.setMainStore(staffId, list.get(list.size()-1).getStoreId(), wxEnterpriseId); clerkMainStoreRelatedService.setMainStore(staffId, list.get(list.size()-1).getStoreId(), wxEnterpriseId);
} }
} }
@Override
public ServiceResponse<String> getClerkMemberChatConfig(String clerkId, String memberId) {
ServiceResponse response=new ServiceResponse();
StaffClerkRelationDTO relationDTO = staffClerkRelatinService.getByClerkId(clerkId);
if (null == relationDTO) {
logger.info("导购没有关联企业微信:{}",clerkId);
response.setCode(2);
response.setMessage("导购没有关联企业微信");
return response;
}
MemberClerkChatConfig chatConfig = staffClerkRelatinService.getChatConfig(relationDTO.getStaffId(), memberId);
if (chatConfig!=null) {
response.setResult(chatConfig.getConfigId());
return response;
}
QywxExternalcontactDTO send = new QywxExternalcontactDTO();
send.setType(1);
send.setScene(1);
send.setRemark("导购:" + relationDTO.getClerkCode());
List<String> userIds = new ArrayList<>();
userIds.add(relationDTO.getWxUserId());
send.setUser(userIds);
SecretSettingDTO secretSetting = secretSettingService.getSecretSetting(relationDTO.getWxEnterpriseId(), SecretTypeEnum.HAOBAN_HELP.getVal());
if (null == secretSetting||secretSetting.getCheckFlag()==0) {
logger.info("没有配置secret:{}",relationDTO.getWxEnterpriseId());
response.setCode(3);
response.setMessage("企业微信配置异常");
return response;
}
WxEnterpriseDTO enterpriseDTO = wxEnterpriseService.selectById(relationDTO.getWxEnterpriseId());
String configId = qywxUserApiService.getExternalcontactByUserId(enterpriseDTO.getCorpid(), secretSetting.getSecretVal(), send);
logger.info("configId:{}",configId);
if (StringUtils.isBlank(configId)) {
logger.info("staff:{}", configId, JSONObject.toJSONString(relationDTO));
response.setCode(4);
response.setMessage("创建config失败");
return response;
}
MemberClerkChatConfig clerkChatConfig = new MemberClerkChatConfig();
clerkChatConfig.setConfigId(configId);
clerkChatConfig.setEnterpriseId(relationDTO.getEnterpriseId());
clerkChatConfig.setMemberId(memberId);
clerkChatConfig.setStaffId(relationDTO.getStaffId());
staffClerkRelatinService.saveChatConfig(clerkChatConfig);
response.setResult(clerkChatConfig.getConfigId());
return response;
}
} }
<?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.TabHaobanMemberClerkChatConfigMapper">
<resultMap id="BaseResultMap" type="com.gic.haoban.manage.service.entity.MemberClerkChatConfig">
<id column="member_clerk_chat_config_id" jdbcType="INTEGER" property="memberClerkChatConfigId" />
<result column="staff_id" jdbcType="VARCHAR" property="staffId" />
<result column="enterprise_id" jdbcType="VARCHAR" property="enterpriseId" />
<result column="member_id" jdbcType="VARCHAR" property="memberId" />
<result column="config_id" jdbcType="VARCHAR" property="configId" />
<result column="status" jdbcType="INTEGER" property="status" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
<sql id="Base_Column_List">
member_clerk_chat_config_id, staff_id, enterprise_id, member_id, config_id, status,
create_time, update_time
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from tab_haoban_member_clerk_chat_config
where member_clerk_chat_config_id = #{memberClerkChatConfigId,jdbcType=INTEGER}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
delete from tab_haoban_member_clerk_chat_config
where member_clerk_chat_config_id = #{memberClerkChatConfigId,jdbcType=INTEGER}
</delete>
<insert id="insert" parameterType="com.gic.haoban.manage.service.entity.MemberClerkChatConfig">
insert into tab_haoban_member_clerk_chat_config (member_clerk_chat_config_id, staff_id,
enterprise_id, member_id, config_id,
status, create_time, update_time
)
values (#{memberClerkChatConfigId,jdbcType=INTEGER}, #{staffId,jdbcType=VARCHAR},
#{enterpriseId,jdbcType=VARCHAR}, #{memberId,jdbcType=VARCHAR}, #{configId,jdbcType=VARCHAR},
#{status,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}
)
</insert>
<insert id="insertSelective" parameterType="com.gic.haoban.manage.service.entity.MemberClerkChatConfig">
insert into tab_haoban_member_clerk_chat_config
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="memberClerkChatConfigId != null">
member_clerk_chat_config_id,
</if>
<if test="staffId != null">
staff_id,
</if>
<if test="enterpriseId != null">
enterprise_id,
</if>
<if test="memberId != null">
member_id,
</if>
<if test="configId != null">
config_id,
</if>
<if test="status != null">
status,
</if>
<if test="createTime != null">
create_time,
</if>
<if test="updateTime != null">
update_time,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="memberClerkChatConfigId != null">
#{memberClerkChatConfigId,jdbcType=INTEGER},
</if>
<if test="staffId != null">
#{staffId,jdbcType=VARCHAR},
</if>
<if test="enterpriseId != null">
#{enterpriseId,jdbcType=VARCHAR},
</if>
<if test="memberId != null">
#{memberId,jdbcType=VARCHAR},
</if>
<if test="configId != null">
#{configId,jdbcType=VARCHAR},
</if>
<if test="status != null">
#{status,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.MemberClerkChatConfig">
update tab_haoban_member_clerk_chat_config
<set>
<if test="staffId != null">
staff_id = #{staffId,jdbcType=VARCHAR},
</if>
<if test="enterpriseId != null">
enterprise_id = #{enterpriseId,jdbcType=VARCHAR},
</if>
<if test="memberId != null">
member_id = #{memberId,jdbcType=VARCHAR},
</if>
<if test="configId != null">
config_id = #{configId,jdbcType=VARCHAR},
</if>
<if test="status != null">
status = #{status,jdbcType=INTEGER},
</if>
<if test="createTime != null">
create_time = #{createTime,jdbcType=TIMESTAMP},
</if>
<if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
</set>
where member_clerk_chat_config_id = #{memberClerkChatConfigId,jdbcType=INTEGER}
</update>
<update id="updateByPrimaryKey" parameterType="com.gic.haoban.manage.service.entity.MemberClerkChatConfig">
update tab_haoban_member_clerk_chat_config
set staff_id = #{staffId,jdbcType=VARCHAR},
enterprise_id = #{enterpriseId,jdbcType=VARCHAR},
member_id = #{memberId,jdbcType=VARCHAR},
config_id = #{configId,jdbcType=VARCHAR},
status = #{status,jdbcType=INTEGER},
create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}
where member_clerk_chat_config_id = #{memberClerkChatConfigId,jdbcType=INTEGER}
</update>
<select id="getChatByMemberIdStaffId" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from tab_haoban_member_clerk_chat_config
where staff_id = #{staffId,jdbcType=VARCHAR} and member_id = #{memberId,jdbcType=VARCHAR}
and status =1
</select>
</mapper>
\ No newline at end of file
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.gic.haoban.base.api.common.ServiceResponse;
import com.gic.haoban.manage.api.dto.StaffDTO; import com.gic.haoban.manage.api.dto.StaffDTO;
import com.gic.haoban.manage.api.dto.SyncSingleDealDTO; import com.gic.haoban.manage.api.dto.SyncSingleDealDTO;
import com.gic.haoban.manage.api.service.DealSyncOperationApiService; import com.gic.haoban.manage.api.service.DealSyncOperationApiService;
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.service.service.StaffService; import com.gic.haoban.manage.service.service.StaffService;
import com.gic.haoban.manage.service.service.TestService; import com.gic.haoban.manage.service.service.TestService;
import com.gic.redis.data.util.RedisUtil; import com.gic.redis.data.util.RedisUtil;
...@@ -44,6 +46,9 @@ public class DealSyncTest { ...@@ -44,6 +46,9 @@ public class DealSyncTest {
@Autowired @Autowired
private TestService testService; private TestService testService;
@Autowired
private StaffClerkRelationApiService staffClerkRelationApiService;
@Test @Test
public void test() { public void test() {
List<SyncSingleDealDTO> add = new ArrayList<>(); List<SyncSingleDealDTO> add = new ArrayList<>();
...@@ -175,4 +180,11 @@ public class DealSyncTest { ...@@ -175,4 +180,11 @@ public class DealSyncTest {
}); });
} }
@Test
public void test7() {
ServiceResponse<String> memberChatConfig = staffClerkRelationApiService.getClerkMemberChatConfig("ff8080816106031401612207e9b405aa", "123");
System.out.println(JSONObject.toJSONString(memberChatConfig));
}
} }
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