KKSU
2025-02-11 e8f8d89a4248cd4d0a7138cc2e5a36ea9b136699
src/main/java/cc/mrbird/febs/mall/service/impl/CommonService.java
@@ -2,11 +2,23 @@
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.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.best.javaSdk.ClientParamEnum;
import com.best.javaSdk.ClientParamService;
import com.best.javaSdk.kdTraceQuery.response.KdTraceQueryRsp;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * @author wzy
@@ -17,9 +29,15 @@
@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;
@@ -31,4 +49,99 @@
            return false;
        }
    }
    @Override
    public List<DataDictionaryCustom> findDataDicByType(String type) {
        List<DataDictionaryCustom> dataDictionaryCustoms = dataDictionaryCustomMapper.selectDicByType(type);
        if(type.equals("KEFU_SET")){
            if(CollUtil.isEmpty(dataDictionaryCustoms)){
                DataDictionaryCustom dataDictionaryCustom = new DataDictionaryCustom();
                dataDictionaryCustom.setType(type);
                dataDictionaryCustom.setCode("WEIXIN");
                dataDictionaryCustom.setDescription("微信客服");
                dataDictionaryCustomMapper.insert(dataDictionaryCustom);
                DataDictionaryCustom dataDictionaryCustom2 = new DataDictionaryCustom();
                dataDictionaryCustom2.setType(type);
                dataDictionaryCustom2.setCode("WHATSAPP");
                dataDictionaryCustom2.setDescription("WhatsApp客服");
                dataDictionaryCustomMapper.insert(dataDictionaryCustom2);
            }
        }
        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/process
//         */
//        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;
//    }
    @Override
    public KdTraceQueryRsp checkTraceInfo(ApiCheckTraceInfoDto checkTraceInfoDto) {
        return ClientParamService.getInstance(ClientParamEnum.PRD.name()).checkTraceInfo(checkTraceInfoDto);
    }
}