package cc.mrbird.febs.mall.service.impl;
|
|
import cc.mrbird.febs.common.utils.AppContants;
|
import cc.mrbird.febs.common.utils.RedisUtils;
|
import cc.mrbird.febs.mall.dto.ApiCheckTraceInfoDto;
|
import cc.mrbird.febs.mall.entity.AppVersion;
|
import cc.mrbird.febs.mall.entity.DataDictionaryCustom;
|
import cc.mrbird.febs.mall.mapper.AppVersionMapper;
|
import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper;
|
import cc.mrbird.febs.mall.service.ICommonService;
|
import cn.hutool.core.util.StrUtil;
|
import com.alibaba.fastjson.JSONObject;
|
import com.best.javaSdk.Client;
|
import com.best.javaSdk.kdTraceQuery.request.KdTraceQueryReq;
|
import com.best.javaSdk.kdTraceQuery.request.MailNos;
|
import com.best.javaSdk.kdTraceQuery.response.KdTraceQueryRsp;
|
import lombok.RequiredArgsConstructor;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Service;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* @author wzy
|
* @date 2021-09-16
|
**/
|
@Slf4j
|
@Service
|
@RequiredArgsConstructor
|
public class CommonService implements ICommonService {
|
private final RedisUtils redisUtils;
|
private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
|
private final AppVersionMapper appVersionMapper;
|
|
@Override
|
public boolean verifyCode(String account, String code) {
|
if ("SMS_CODE".equals(code)) {
|
return true;
|
}
|
|
String cacheCode = redisUtils.getString(AppContants.VERIFY_CODE_PREFIX + account);
|
if (StrUtil.isBlank(cacheCode)) {
|
return false;
|
}
|
if (code.equals(cacheCode)) {
|
redisUtils.del(AppContants.VERIFY_CODE_PREFIX + account);
|
return true;
|
} else {
|
return false;
|
}
|
}
|
|
@Override
|
public List<DataDictionaryCustom> findDataDicByType(String type) {
|
return dataDictionaryCustomMapper.selectDicByType(type);
|
}
|
|
@Override
|
public List<AppVersion> findAppVersion() {
|
return appVersionMapper.selectList(null);
|
}
|
|
@Override
|
public void addDataDic(String type, String code, Object value, String description) {
|
addDataDic(type, code, value, description, true);
|
}
|
|
@Override
|
public void addDataDic(String type, String code, Object value, String description, boolean isJson) {
|
DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(type, code);
|
String data = null;
|
if (isJson) {
|
data = JSONObject.toJSONString(value);
|
} else {
|
data = (String) value;
|
}
|
|
if (dic != null) {
|
dic.setValue(data);
|
dataDictionaryCustomMapper.updateById(dic);
|
return;
|
}
|
|
dic = new DataDictionaryCustom();
|
dic.setCode(code);
|
dic.setType(type);
|
dic.setValue(data);
|
dic.setDescription(description);
|
dataDictionaryCustomMapper.insert(dic);
|
}
|
|
@Override
|
public KdTraceQueryRsp checkTraceInfo(ApiCheckTraceInfoDto checkTraceInfoDto) {
|
/**
|
* 正式环境
|
* MY_LEADING 生产环境参数
|
* partnerID : MY_LEADING
|
* partnerKey : ER5DFRT320D4ed6FAFs3G410Fs977
|
* Endpoint :http://sgp-seaedi.800best.com/Malaysia/kdapi/api/proces
|
*/
|
String url = "http://sgp-seaedi.800best.com/Malaysia/kdapi/api/process";
|
String partnerID = "MY_LEADING";
|
String partnerKey = "ER5DFRT320D4ed6FAFs3G410Fs977";
|
String format = "JSON";
|
/**
|
* 测试环境
|
* 测试物流编号 66660451238000
|
*/
|
// String url = "http://sea-edi-hxtest.800best.com/Malaysia/kdapi/api/process";
|
// String partnerID = "M_TEST";
|
// String partnerKey = "TEST12345";
|
// String format = "JSON";
|
|
Client client = new Client(url, partnerID, partnerKey, format);
|
|
KdTraceQueryReq tdTraceQueryReq = new KdTraceQueryReq();
|
MailNos mailNos = new MailNos();
|
List<String> mailNo = new ArrayList<>();
|
mailNo.add(checkTraceInfoDto.getTraceNo());
|
mailNos.setMailNo(mailNo);
|
tdTraceQueryReq.setMailNos(mailNos);
|
tdTraceQueryReq.setLangType("zh-CN");
|
|
KdTraceQueryRsp kdTraceQueryRsp = client.executed(tdTraceQueryReq);
|
return kdTraceQueryRsp;
|
}
|
}
|