Commit ffd4fa91 by 徐高华

key

parent 02a4fce8
......@@ -8,8 +8,6 @@ public interface KeyDataService {
public KeyDataDTO saveData(String enterpriseId, String relationId, String data, KeyDataEnum dataEnum);
public KeyDataDTO getDataByKey(String key, KeyDataEnum dataEnum, String relationId);
public String getMobile(String key, String relationId);
public String saveDataForLink(String enterpriseId, KeyDataLinkBO bo);
......
......@@ -15,6 +15,8 @@ public interface HmLinkService {
public HmLinkBO getByLinkShortCode(String shortCode);
public HmLinkBO getByLinkShortCodeCache(String shortCode);
public HmLinkBO getByLinkIdFormCache(String wxEnterpriseId, String enterprieId, Long linkId);
public List<HmLinkBO> listForSms(String wxEnterpriseId, String enterprieId, String linkName, Integer linkType);
......
......@@ -68,6 +68,19 @@ public class HmLinkServiceImpl implements HmLinkService {
}
@Override
public HmLinkBO getByLinkShortCodeCache(String shortCode) {
String key = "hm:link:" + shortCode;
HmLinkBO link = RedisUtil.getCache(key, HmLinkBO.class);
if (link == null) {
link = this.getByLinkShortCode(shortCode);
if (link != null) {
RedisUtil.setCache(key, link, 20 * 60L);
}
}
return link;
}
@Override
public HmLinkBO getByLinkIdFormCache(String wxEnterpriseId, String enterprieId, Long linkId) {
String key = "hm:link:" + linkId;
HmLinkBO link = RedisUtil.getCache(key, HmLinkBO.class);
......@@ -131,7 +144,7 @@ public class HmLinkServiceImpl implements HmLinkService {
welcome.setEnterpriseId(dto.getEnterpriseId());
welcome.setReferName(dto.getName());
welcome.setRelationId(dto.getLinkId());
welcome.setReferId(dto.getLinkId()+"");
welcome.setReferId(dto.getLinkId() + "");
welcome.setReferCode(dto.getLinkCode());
welcome.setType(HmWelcomeReferType.LINK.getCode());
// 新增
......@@ -156,14 +169,14 @@ public class HmLinkServiceImpl implements HmLinkService {
}
@Override
public Page<HmLinkBO> queryPageRelationList(Long pageId, String enterpriseId, String searchText, BasePageInfo basePageInfo) {
public Page<HmLinkBO> queryPageRelationList(Long pageId, String enterpriseId, String searchText,
BasePageInfo basePageInfo) {
PageHelper.startPage(basePageInfo);
List<TabHmLink> list = this.linkMapper.queryPageRelationList(pageId, enterpriseId, searchText);
Page<HmLinkBO> retPage = PageHelperUtils.changePageHelperToCurrentPage(list, HmLinkBO.class);
return retPage;
}
public String shortCode(String enterpriseId) {
StringBuilder sb = new StringBuilder();
String uuid = ToolUtil.randomUUID();
......
......@@ -55,25 +55,16 @@ public class KeyDataServiceImpl implements KeyDataService {
}
@Override
public KeyDataDTO getDataByKey(String key, KeyDataEnum dataEnum, String relationId) {
TabKeyData tab = this.tabKeyDataMapper.selectByKey(key, dataEnum.getType(), relationId);
if (null != tab) {
return EntityUtil.changeEntityByJSON(KeyDataDTO.class, tab);
}
return null;
}
@Override
public String getMobile(String key, String relationId) {
KeyDataDTO data = this.getDataByKey(key, KeyDataEnum.MOBILE, relationId);
if (null != data) {
KeyDataMobileBO bo = JSON.parseObject(data.getData(), KeyDataMobileBO.class);
TabKeyData tab = this.tabKeyDataMapper.selectByKey(key, KeyDataEnum.MOBILE.getType(), relationId);
if (null != tab) {
KeyDataMobileBO bo = JSON.parseObject(tab.getData(), KeyDataMobileBO.class);
return bo.getMobile();
}
return null;
}
public static String generateKey(KeyDataEnum dataEnum, String data) {
private static String generateKey(KeyDataEnum dataEnum, String data) {
if (dataEnum.equals(KeyDataEnum.MOBILE)) {
String phone = JSON.parseObject(data).getString("mobile");
return Long.toHexString(Long.valueOf(phone));
......
......@@ -3,6 +3,7 @@ package com.gic.haoban.manage.service.service.impl;
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 com.alibaba.fastjson.JSONObject;
......@@ -15,6 +16,7 @@ import com.gic.search.engine.api.service.dynamic.ESDataDynamicOperationApiServic
public class MemberQueryServiceImpl implements MemberQueryService {
private static final Logger logger = LogManager.getLogger(MemberQueryService.class);
@Autowired
private ESDataDynamicOperationApiService esApiService;
@Override
......
......@@ -133,8 +133,9 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
}
HmQrcodeBO hm = null;
HmLinkWxaDTO retDTO = new HmLinkWxaDTO();
log.info("小程序获取活码={},linkShortCode={},mixPhone={}", enterpriseId, linkShortCode, mixPhone);
HmLinkBO link = this.hmLinkService.getByLinkShortCode(linkShortCode);
log.info("小程序获取活码={},linkShortCode={},mixPhone={},memberId={},unionid={}", enterpriseId, linkShortCode,
mixPhone, memberId, unionid);
HmLinkBO link = this.hmLinkService.getByLinkShortCodeCache(linkShortCode);
if (null == link) {
log.error("链接记录不存,linkShortCode={}", linkShortCode);
return ServiceResponse.failure(HaoBanErrCode.ERR_OTHER.getCode(), "链接记录不存");
......@@ -205,13 +206,14 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
xgStore = null;
}
if (StringUtils.isNotEmpty(mixPhone)) {
String mobile = this.keyDataService.getMobile(mixPhone, String.valueOf(linkId));
String mobile = this.keyDataService.getMobile(mixPhone, linkShortCode);
log.info("小程序获取活码mobile={},mixPhone={}", mobile, mixPhone);
String mobileMemberId = this.memberService.getMemberIdByPhoneNumber(mobile, enterpriseId);
if (StringUtils.isNotBlank(mobileMemberId)) {
memberId = mobileMemberId;
}
}
System.out.println("");
log.info("小程序获取活码memberId={}", memberId);
if (StringUtils.isNotBlank(memberId)) {
MemberDataDTO member = this.getMemberClerk(enterpriseId, memberId);
......@@ -314,12 +316,14 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
paramsDTO.setRemark(hm.getName());
paramsDTO.setSkipVerify(hm.getPassFlag() == 1);
paramsDTO.setState("DT" + key);
paramsDTO.setTemp(true);
// paramsDTO.setTemp(true);
// 过期时间一小时
paramsDTO.setExpiresIn(60L * 60);
paramsDTO.setUser(Arrays.asList(hm.getWxUserId()));
paramsDTO.setChatExpiresIn(60L);
paramsDTO.setUser(Arrays.asList("wo59NLDQAAOVOU_FKL7DJg6NNq2-lgDQ"));
QywxExternalcontactResultDTO dto = qywxUserApiService.addContactWay(corpid, config.getWxSuiteid(), paramsDTO);
log.info("创建动态活码参数corpid:{},param={},返回={}", corpid, JSON.toJSONString(paramsDTO), JSON.toJSONString(dto));
log.info("创建动态活码参数corpid:{}{},param={},返回={}", corpid, config.getWxSuiteid(), JSON.toJSONString(paramsDTO),
JSON.toJSONString(dto));
if (null != dto && "0".equals(dto.getErrcode())) {
retDTO.setHmQrcode(retDTO.getHmQrcode());
}
......
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