Browse Source

feature-img-quan-1.0.0: 调整代码逻辑

feature-1.0-img-prototype
penny 4 years ago
parent
commit
229d9b90d7
  1. 10
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/AlipayConfig.java
  2. 25
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/BzConfig.java
  3. 2
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/FhConfig.java
  4. 6
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/TiktokConfig.java
  5. 6
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/WxConfig.java
  6. 66
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/BzDataController.java
  7. 3
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/BzDataService.java
  8. 46
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/BzDataServiceImpl.java

10
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/AlipayConfig.java

@ -22,17 +22,17 @@ public class AlipayConfig{
private String gatewayUrl;
@Value("${alipay.appId}")
public String appId;
private String appId;
@Value("${alipay.privateKey}")
public String privateKey;
private String privateKey;
@Value("${alipay.certPath}")
public String certPath;
private String certPath;
@Value("${alipay.alipayPublicCertPath}")
public String alipayPublicCertPath;
private String alipayPublicCertPath;
@Value("${alipay.rootPath}")
public String rootPath;
private String rootPath;
}

25
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/BzConfig.java

@ -0,0 +1,25 @@
package com.bnyer.img.config;
import lombok.Getter;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.context.annotation.Configuration;
/**
* 八字算命配置类
* @author chengkun
* @date 2022/4/21 17:43
*/
@Configuration
@ConfigurationProperties(prefix = "bnyer.img.bz")
@Getter
@RefreshScope
public class BzConfig {
@Value("${bnyer.img.bz.appCode}")
private String appCode;
@Value("${bnyer.img.bz.url}")
private String url;
}

2
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/FhConfig.java

@ -18,7 +18,7 @@ import org.springframework.context.annotation.Configuration;
public class FhConfig {
@Value("${bnyer.img.fasthand.appId}")
private String appId;
public String appId;
@Value("${bnyer.img.fasthand.secret}")
public String secret;

6
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/TiktokConfig.java

@ -26,13 +26,13 @@ public class TiktokConfig implements WebMvcConfigurer {
private String appId;
@Value("${bnyer.img.tiktok.secret}")
public String secret;
private String secret;
@Value("${bnyer.img.tiktok.sessionInfoUrl}")
public String sessionInfoUrl;
private String sessionInfoUrl;
@Value("${bnyer.img.tiktok.tokenUrl}")
public String tokenUrl;
private String tokenUrl;
// @Resource
// private TokenCheckHandler tokenCheckHandler;

6
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/config/WxConfig.java

@ -26,12 +26,12 @@ public class WxConfig {
private String appId;
@Value("${bnyer.img.wechat.secret}")
public String secret;
private String secret;
@Value("${bnyer.img.wechat.sessionInfoUrl}")
public String sessionInfoUrl;
private String sessionInfoUrl;
@Value("${bnyer.img.wechat.tokenUrl}")
public String tokenUrl;
private String tokenUrl;
}

66
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/BzDataController.java

@ -1,46 +1,19 @@
package com.bnyer.img.controller;
import cn.hutool.http.server.HttpServerRequest;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.bnyer.common.core.domain.R;
import com.bnyer.common.core.web.controller.BaseController;
import com.bnyer.common.core.web.domain.AjaxResult;
import com.bnyer.common.core.web.page.TableDataInfo;
import com.bnyer.common.redis.service.RedisService;
import com.bnyer.img.domain.Banner;
import com.bnyer.img.domain.BzData;
import com.bnyer.img.dto.BannerDto;
import com.bnyer.img.dto.BannerPageDto;
import com.bnyer.img.dto.BzDto;
import com.bnyer.img.dto.StatusDto;
import com.bnyer.img.service.BannerService;
import com.bnyer.img.service.BzDataService;
import com.github.pagehelper.PageHelper;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.log.XxlJobLogger;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.net.URLEncoder;
import java.time.LocalDate;
import java.util.List;
import java.util.Set;
@Api(value = "【图文平台】八字运势接口",tags = "【图文平台】八字运势接口")
@RestController
@ -66,45 +39,8 @@ public class BzDataController extends BaseController {
@ApiOperation(value = "八字页面数据统计")
@PostMapping("/dataStatistics")
public R<JSONObject> dataStatistics(@RequestParam String source, HttpServletRequest request) {
String ip = getIpAddr(request);
String ip = bzDataService.getIpAddr(request);
bzDataService.dataStatistics(ip,source);
return R.ok();
}
private String getIpAddr(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
//System.out.println("x-forwarded-for ip: " + ip);
if (ip != null && ip.length() != 0 && !"unknown".equalsIgnoreCase(ip)) {
// 多次反向代理后会有多个ip值,第一个ip才是真实ip
if (ip.indexOf(",") != -1) {
ip = ip.split(",")[0];
}
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
//System.out.println("Proxy-Client-IP ip: " + ip);
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
//System.out.println("WL-Proxy-Client-IP ip: " + ip);
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_CLIENT_IP");
//System.out.println("HTTP_CLIENT_IP ip: " + ip);
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_X_FORWARDED_FOR");
//System.out.println("HTTP_X_FORWARDED_FOR ip: " + ip);
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("X-Real-IP");
//System.out.println("X-Real-IP ip: " + ip);
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
//System.out.println("getRemoteAddr ip: " + ip);
}
//System.out.println("获取客户端ip: " + ip);
return ip;
}
}

3
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/BzDataService.java

@ -8,6 +8,7 @@ import com.bnyer.img.dto.BannerPageDto;
import com.bnyer.img.dto.BzDto;
import com.bnyer.img.vo.BannerVo;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
public interface BzDataService {
@ -16,4 +17,6 @@ public interface BzDataService {
void dataStatistics(String ip,String source);
int update(BzData bzData,UpdateWrapper<BzData> updateWrapper);
String getIpAddr(HttpServletRequest request);
}

46
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/BzDataServiceImpl.java

@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.bnyer.common.core.domain.R;
import com.bnyer.common.core.utils.StringUtils;
import com.bnyer.common.redis.service.RedisService;
import com.bnyer.img.config.BzConfig;
import com.bnyer.img.domain.Banner;
import com.bnyer.img.domain.BzData;
import com.bnyer.img.dto.BannerPageDto;
@ -29,6 +30,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.net.URLEncoder;
import java.time.LocalDate;
@ -43,13 +45,15 @@ public class BzDataServiceImpl implements BzDataService {
private RedisService redisService;
@Autowired
private BzDataMapper bzDataMapper;
@Autowired
private BzConfig bzConfig;
@Override
public JSONObject getYs(BzDto dto) {
//API产品路径
String requestUrl = "https://xuanxue.market.alicloudapi.com/ai_china_knowledge/bazi/v1?";
String requestUrl = bzConfig.getUrl();
//阿里云APPCODE
String appcode = "7a37e4f4f24d4737bf48143d371a215b";
String appcode = bzConfig.getAppCode();
String lastName = dto.getLastName();
String firstName = dto.getFirstName();
String sex = dto.getSex();
@ -121,4 +125,42 @@ public class BzDataServiceImpl implements BzDataService {
public int update(BzData bzData, UpdateWrapper<BzData> updateWrapper) {
return bzDataMapper.update(bzData,updateWrapper);
}
@Override
public String getIpAddr(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
//System.out.println("x-forwarded-for ip: " + ip);
if (ip != null && ip.length() != 0 && !"unknown".equalsIgnoreCase(ip)) {
// 多次反向代理后会有多个ip值,第一个ip才是真实ip
if (ip.indexOf(",") != -1) {
ip = ip.split(",")[0];
}
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
//System.out.println("Proxy-Client-IP ip: " + ip);
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
//System.out.println("WL-Proxy-Client-IP ip: " + ip);
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_CLIENT_IP");
//System.out.println("HTTP_CLIENT_IP ip: " + ip);
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_X_FORWARDED_FOR");
//System.out.println("HTTP_X_FORWARDED_FOR ip: " + ip);
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("X-Real-IP");
//System.out.println("X-Real-IP ip: " + ip);
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
//System.out.println("getRemoteAddr ip: " + ip);
}
//System.out.println("获取客户端ip: " + ip);
return ip;
}
}

Loading…
Cancel
Save