package com.iformall.smsdk; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.iformall.common.CommonConstants; import com.iformall.domain.po.WxThirdPartyApi; import com.iformall.enums.sm.EnumThirdPartyType; import com.iformall.mapper.WxThirdPartyApiMapper; import com.iformall.utils.sign.SignUtils; import org.apache.http.protocol.HTTP; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.stereotype.Component; import org.springframework.util.MultiValueMap; import javax.annotation.PostConstruct; import java.util.List; import java.util.Map; @Component public class SmUtils { public static SmUtils smUtils; @Autowired private SmSdkProperties smSdkProperties; @Autowired private WxThirdPartyApiMapper wxThirdPartyApiMapper; @PostConstruct public void init() { smUtils = this; } public static HttpEntity> postHttpEntity(Map paramMap) { paramMap.put(SmSdkConstant.TIMESTAMP, System.currentTimeMillis()); WxThirdPartyApi apiConfig = getApiConfig(); HttpHeaders httpHeaders = new HttpHeaders(); httpHeaders.set(SmSdkConstant.APP_KEY, apiConfig.getAppId() + "&" + apiConfig.getAppKey()); String sign = SignUtils.getSign(apiConfig.getSignKey(), paramMap, "MD5"); httpHeaders.set(SmSdkConstant.SIGN, sign); return new HttpEntity<>(paramMap, httpHeaders); } public static HttpEntity> getHttpEntity(Map paramMap) { paramMap.put(SmSdkConstant.TIMESTAMP, System.currentTimeMillis()); WxThirdPartyApi apiConfig = getApiConfig(); HttpHeaders httpHeaders = new HttpHeaders(); httpHeaders.set(SmSdkConstant.APP_KEY, apiConfig.getAppId() + "&" + apiConfig.getAppKey()); String sign = SignUtils.getSign(apiConfig.getSignKey(), paramMap, "MD5"); httpHeaders.set(SmSdkConstant.SIGN, sign); return new HttpEntity>(null,httpHeaders); } //私有化统一用系统的来调用 public static WxThirdPartyApi getApiConfig() { List wxThirdPartyApis = smUtils.wxThirdPartyApiMapper.selectList(new LambdaQueryWrapper() .eq(WxThirdPartyApi::getStatus, CommonConstants.STATUS_NORMAL).eq(WxThirdPartyApi::getType, EnumThirdPartyType.PRIVATE_JOIN.getCode())); return wxThirdPartyApis.get(0); } }