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);
} }
...@@ -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