Commit 3fe6cda8 by 徐高华

活码

parent a86c85db
package com.gic.haoban.manage.api.service; package com.gic.haoban.manage.api.service;
import com.gic.api.base.commons.ServiceResponse; import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.enums.KeyDataEnum;
public interface KeyDataApiService { public interface KeyDataApiService {
public ServiceResponse<String> saveMobileData(String enterpiseId ,String linkShortCode, String mobile); /**
*
public ServiceResponse<String> getDataByKey(String key, KeyDataEnum dataEnum); * @Title: saveMobileData
* @Description: 手机号加密
public ServiceResponse<String> getMobile(Long linkId, String key); * @author xugh
* @param enterpiseId
* @param linkShortCode
* @param mobile
* @return
* @throws
*/
public ServiceResponse<String> saveMobileData(String enterpiseId, String linkShortCode, String mobile);
} }
...@@ -2,15 +2,18 @@ package com.gic.haoban.manage.service.service; ...@@ -2,15 +2,18 @@ package com.gic.haoban.manage.service.service;
import com.gic.haoban.manage.api.dto.KeyDataDTO; import com.gic.haoban.manage.api.dto.KeyDataDTO;
import com.gic.haoban.manage.api.enums.KeyDataEnum; import com.gic.haoban.manage.api.enums.KeyDataEnum;
import com.gic.haoban.manage.service.pojo.bo.hm.KeyDataLinkBO;
public interface KeyDataService { 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 String saveHmData(String enterpriseId, String unionid, Long linkId, Long hmId);
public KeyDataDTO getDataByKey(String key, KeyDataEnum dataEnum, String relationId); 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 KeyDataLinkBO getDataForHmLink(String key);
} }
...@@ -6,13 +6,14 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -6,13 +6,14 @@ 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.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.commons.util.EntityUtil; import com.gic.commons.util.EntityUtil;
import com.gic.commons.util.UniqueIdUtils; import com.gic.commons.util.UniqueIdUtils;
import com.gic.haoban.manage.api.dto.KeyDataDTO; import com.gic.haoban.manage.api.dto.KeyDataDTO;
import com.gic.haoban.manage.api.enums.KeyDataEnum; import com.gic.haoban.manage.api.enums.KeyDataEnum;
import com.gic.haoban.manage.service.dao.mapper.TabKeyDataMapper; import com.gic.haoban.manage.service.dao.mapper.TabKeyDataMapper;
import com.gic.haoban.manage.service.entity.TabKeyData; import com.gic.haoban.manage.service.entity.TabKeyData;
import com.gic.haoban.manage.service.pojo.bo.hm.KeyDataLinkBO;
import com.gic.haoban.manage.service.pojo.bo.hm.KeyDataMobileBO;
import com.gic.haoban.manage.service.service.KeyDataService; import com.gic.haoban.manage.service.service.KeyDataService;
@Service("keyDataService") @Service("keyDataService")
...@@ -37,16 +38,23 @@ public class KeyDataServiceImpl implements KeyDataService { ...@@ -37,16 +38,23 @@ public class KeyDataServiceImpl implements KeyDataService {
} }
@Override @Override
public String saveHmData(String enterpriseId, String unionid, Long linkId, Long hmId) { public String saveDataForLink(String enterpriseId, KeyDataLinkBO link) {
JSONObject json = new JSONObject(); KeyDataDTO data = this.saveData(enterpriseId, String.valueOf(link.getLinkId()), JSON.toJSONString(link),
json.put("unid", unionid); KeyDataEnum.DYNAMIC_HM);
json.put("ljid", linkId);
json.put("hmid", hmId);
KeyDataDTO data = this.saveData(enterpriseId, String.valueOf(linkId), json.toString(), KeyDataEnum.DYNAMIC_HM);
return data.getDataKey(); return data.getDataKey();
} }
@Override @Override
public KeyDataLinkBO getDataForHmLink(String key) {
TabKeyData tab = this.tabKeyDataMapper.selectByKey(key, KeyDataEnum.DYNAMIC_HM.getType(), null);
if (null != tab) {
KeyDataLinkBO bo = JSON.parseObject(tab.getData(), KeyDataLinkBO.class);
return bo;
}
return null;
}
@Override
public KeyDataDTO getDataByKey(String key, KeyDataEnum dataEnum, String relationId) { public KeyDataDTO getDataByKey(String key, KeyDataEnum dataEnum, String relationId) {
TabKeyData tab = this.tabKeyDataMapper.selectByKey(key, dataEnum.getType(), relationId); TabKeyData tab = this.tabKeyDataMapper.selectByKey(key, dataEnum.getType(), relationId);
if (null != tab) { if (null != tab) {
...@@ -59,14 +67,15 @@ public class KeyDataServiceImpl implements KeyDataService { ...@@ -59,14 +67,15 @@ public class KeyDataServiceImpl implements KeyDataService {
public String getMobile(String key, String relationId) { public String getMobile(String key, String relationId) {
KeyDataDTO data = this.getDataByKey(key, KeyDataEnum.MOBILE, relationId); KeyDataDTO data = this.getDataByKey(key, KeyDataEnum.MOBILE, relationId);
if (null != data) { if (null != data) {
return JSON.parseObject(data.getData()).getString("ph"); KeyDataMobileBO bo = JSON.parseObject(data.getData(), KeyDataMobileBO.class);
return bo.getMobile();
} }
return null; return null;
} }
public static String generateKey(KeyDataEnum dataEnum, String data) { public static String generateKey(KeyDataEnum dataEnum, String data) {
if (dataEnum.equals(KeyDataEnum.MOBILE)) { if (dataEnum.equals(KeyDataEnum.MOBILE)) {
String phone = JSON.parseObject(data).getString("ph"); String phone = JSON.parseObject(data).getString("mobile");
return Long.toHexString(Long.valueOf(phone)); return Long.toHexString(Long.valueOf(phone));
} }
return UniqueIdUtils.uniqueLongHex(); return UniqueIdUtils.uniqueLongHex();
......
...@@ -4,12 +4,11 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -4,12 +4,11 @@ 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.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gic.api.base.commons.ServiceResponse; import com.gic.api.base.commons.ServiceResponse;
import com.gic.haoban.manage.api.dto.KeyDataDTO; import com.gic.haoban.manage.api.dto.KeyDataDTO;
import com.gic.haoban.manage.api.enums.KeyDataEnum; import com.gic.haoban.manage.api.enums.KeyDataEnum;
import com.gic.haoban.manage.api.service.KeyDataApiService; import com.gic.haoban.manage.api.service.KeyDataApiService;
import com.gic.haoban.manage.service.errorcode.HaoBanErrCode; import com.gic.haoban.manage.service.pojo.bo.hm.KeyDataMobileBO;
import com.gic.haoban.manage.service.service.KeyDataService; import com.gic.haoban.manage.service.service.KeyDataService;
@Service("keyDataApiService") @Service("keyDataApiService")
...@@ -20,30 +19,10 @@ public class KeyDataApiServiceImpl implements KeyDataApiService { ...@@ -20,30 +19,10 @@ public class KeyDataApiServiceImpl implements KeyDataApiService {
@Override @Override
public ServiceResponse<String> saveMobileData(String enterpiseId, String linkShortCode, String mobile) { public ServiceResponse<String> saveMobileData(String enterpiseId, String linkShortCode, String mobile) {
JSONObject json = new JSONObject(); KeyDataMobileBO bo = new KeyDataMobileBO();
json.put("ph", mobile); bo.setMobile(mobile);
KeyDataDTO keyData = this.keyDataService.saveData(enterpiseId, linkShortCode, json.toString(), KeyDataDTO keyData = this.keyDataService.saveData(enterpiseId, linkShortCode, JSON.toJSONString(bo),
KeyDataEnum.MOBILE); KeyDataEnum.MOBILE);
return ServiceResponse.success(keyData.getDataKey()); return ServiceResponse.success(keyData.getDataKey());
} }
@Override
public ServiceResponse<String> getDataByKey(String key, KeyDataEnum dataEnum) {
KeyDataDTO data = this.keyDataService.getDataByKey(key, dataEnum, null);
if (null != data) {
return ServiceResponse.success(data.getData());
}
return ServiceResponse.failure(HaoBanErrCode.ERR_OTHER.getCode(), "数据不存在");
}
@Override
public ServiceResponse<String> getMobile(Long linkId, String key) {
KeyDataDTO data = this.keyDataService.getDataByKey(key, KeyDataEnum.MOBILE, String.valueOf(linkId));
if (null != data) {
JSONObject json = JSON.parseObject(data.getData());
return ServiceResponse.success(json.getString("ph"));
}
return null;
}
} }
...@@ -33,6 +33,7 @@ import com.gic.haoban.manage.service.errorcode.HaoBanErrCode; ...@@ -33,6 +33,7 @@ import com.gic.haoban.manage.service.errorcode.HaoBanErrCode;
import com.gic.haoban.manage.service.pojo.bo.hm.HmLinkBO; import com.gic.haoban.manage.service.pojo.bo.hm.HmLinkBO;
import com.gic.haoban.manage.service.pojo.bo.hm.HmPageBO; import com.gic.haoban.manage.service.pojo.bo.hm.HmPageBO;
import com.gic.haoban.manage.service.pojo.bo.hm.HmQrcodeBO; import com.gic.haoban.manage.service.pojo.bo.hm.HmQrcodeBO;
import com.gic.haoban.manage.service.pojo.bo.hm.KeyDataLinkBO;
import com.gic.haoban.manage.service.service.KeyDataService; import com.gic.haoban.manage.service.service.KeyDataService;
import com.gic.haoban.manage.service.service.MemberQueryService; import com.gic.haoban.manage.service.service.MemberQueryService;
import com.gic.haoban.manage.service.service.WxEnterpriseService; import com.gic.haoban.manage.service.service.WxEnterpriseService;
...@@ -274,7 +275,11 @@ public class HmLinkApiServiceImpl implements HmLinkApiService { ...@@ -274,7 +275,11 @@ public class HmLinkApiServiceImpl implements HmLinkApiService {
} }
} }
if (null != hm) { if (null != hm) {
String key = this.keyDataService.saveHmData(enterpriseId, unionid, linkId, hm.getHmId()); KeyDataLinkBO bo = new KeyDataLinkBO();
bo.setUnionid(unionid);
bo.setLinkId(linkId);
bo.setHmId(hm.getHmId());
String key = this.keyDataService.saveDataForLink(enterpriseId, bo);
if (null != key) { if (null != key) {
this.addQrcode(hm, key, wxEnterpriseDTO.getCorpid(), retDTO); this.addQrcode(hm, key, wxEnterpriseDTO.getCorpid(), retDTO);
} }
......
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