后台服务
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

63 行
2.6 KiB

  1. package com.iformall.smsdk;
  2. import com.alibaba.fastjson.JSON;
  3. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  5. import com.iformall.common.CommonConstants;
  6. import com.iformall.domain.po.WxThirdPartyApi;
  7. import com.iformall.enums.sm.EnumThirdPartyType;
  8. import com.iformall.mapper.WxThirdPartyApiMapper;
  9. import com.iformall.utils.sign.SignUtils;
  10. import org.apache.http.protocol.HTTP;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.http.HttpEntity;
  13. import org.springframework.http.HttpHeaders;
  14. import org.springframework.stereotype.Component;
  15. import org.springframework.util.MultiValueMap;
  16. import javax.annotation.PostConstruct;
  17. import java.util.List;
  18. import java.util.Map;
  19. @Component
  20. public class SmUtils {
  21. public static SmUtils smUtils;
  22. @Autowired
  23. private SmSdkProperties smSdkProperties;
  24. @Autowired
  25. private WxThirdPartyApiMapper wxThirdPartyApiMapper;
  26. @PostConstruct
  27. public void init() {
  28. smUtils = this;
  29. }
  30. public static HttpEntity<Map<String, Object>> postHttpEntity(Map<String, Object> paramMap) {
  31. paramMap.put(SmSdkConstant.TIMESTAMP, System.currentTimeMillis());
  32. WxThirdPartyApi apiConfig = getApiConfig();
  33. HttpHeaders httpHeaders = new HttpHeaders();
  34. httpHeaders.set(SmSdkConstant.APP_KEY, apiConfig.getAppId() + "&" + apiConfig.getAppKey());
  35. String sign = SignUtils.getSign(apiConfig.getSignKey(), paramMap, "MD5");
  36. httpHeaders.set(SmSdkConstant.SIGN, sign);
  37. return new HttpEntity<>(paramMap, httpHeaders);
  38. }
  39. public static HttpEntity<MultiValueMap<String, Object>> getHttpEntity(Map<String, Object> paramMap) {
  40. paramMap.put(SmSdkConstant.TIMESTAMP, System.currentTimeMillis());
  41. WxThirdPartyApi apiConfig = getApiConfig();
  42. HttpHeaders httpHeaders = new HttpHeaders();
  43. httpHeaders.set(SmSdkConstant.APP_KEY, apiConfig.getAppId() + "&" + apiConfig.getAppKey());
  44. String sign = SignUtils.getSign(apiConfig.getSignKey(), paramMap, "MD5");
  45. httpHeaders.set(SmSdkConstant.SIGN, sign);
  46. return new HttpEntity<MultiValueMap<String, Object>>(null,httpHeaders);
  47. }
  48. //私有化统一用系统的来调用
  49. public static WxThirdPartyApi getApiConfig() {
  50. List<WxThirdPartyApi> wxThirdPartyApis = smUtils.wxThirdPartyApiMapper.selectList(new LambdaQueryWrapper<WxThirdPartyApi>()
  51. .eq(WxThirdPartyApi::getStatus, CommonConstants.STATUS_NORMAL).eq(WxThirdPartyApi::getType, EnumThirdPartyType.PRIVATE_JOIN.getCode()));
  52. return wxThirdPartyApis.get(0);
  53. }
  54. }