Commit ffd4fa91 by 徐高华

key

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