注释及优化

This commit is contained in:
Lenovo 2024-07-04 16:01:26 +08:00
parent f57a39d092
commit d5f240958d
3 changed files with 121 additions and 43 deletions

View File

@ -28,15 +28,12 @@ import java.net.URLEncoder;
import java.util.*;
/**
* 调用美团接口
* 采集美团接口
*/
@RestController
@RequestMapping("/mt")
public class MeituanController {
@Autowired
private IBusStoreInfoService busStoreInfoService;
@Autowired
private IMeituanService iMeituanService;
/**
@ -47,35 +44,7 @@ public class MeituanController {
@PostMapping(value = "/cookies")
public R cookie(@RequestBody SysCookie cookie)
{
BusStoreInfo storeInfo = new BusStoreInfo();
storeInfo.setStoreCode(valueFromCookie("wmPoiId",cookie.getCookie()));
List<BusStoreInfo> list = busStoreInfoService.selectBusStoreInfoList(storeInfo);
if(list.size()==0){
storeInfo.setBindUser(cookie.getUserName());
storeInfo.setStoreAccount(cookie.getAccount());
storeInfo.setStorePassword(cookie.getPassword());
storeInfo.setStoreName(cookie.getWmPoiName());
storeInfo.setStoreCookie(cookie.getCookie());
storeInfo.setPlatformType(String.valueOf(cookie.getBingType()));
storeInfo.setBindTime(new Date());
storeInfo.setGrantStatus("1");//授权登录状态
storeInfo.setReturnVisitStatus("2");// 营销状态
storeInfo.setSelfDeliveryStatus("1");// 1 正常 2 自配送 3 删除
return R.ok(busStoreInfoService.insertBusStoreInfo(storeInfo));
}else if(list.size()==1){
if(!cookie.getUserName().equals(storeInfo.getBindUser())){
throw new ServiceException("授权失败,已绑定其他代理账号!");
}
storeInfo.setStoreAccount(cookie.getAccount());
storeInfo.setStorePassword(cookie.getPassword());
storeInfo.setStoreName(cookie.getWmPoiName());
storeInfo.setStoreCookie(cookie.getCookie());
storeInfo.setPlatformType(String.valueOf(cookie.getBingType()));
return R.ok(busStoreInfoService.updateBusStoreInfo(storeInfo));
}else{
throw new ServiceException("授权失败,请重试!");
}
// 触发爬取店铺信息
return iMeituanService.cookieInfo(cookie);
}
/**
@ -123,12 +92,4 @@ public class MeituanController {
return iMeituanService.mtgsigInfo(orderId,regionId,regionVersion);
}
private String valueFromCookie(String key,String text) {
String s = text.substring(text.indexOf(key), text.length());
String value = s.substring(s.indexOf("=")+1,s.indexOf(";"));
return value;
}
}

View File

@ -1,14 +1,54 @@
package com.ruoyi.business.service;
import com.ruoyi.business.domain.SysCookie;
import com.ruoyi.common.core.domain.R;
public interface IMeituanService {
/**
* 获取cookie
* @param cookie
* @return
*/
R cookieInfo(SysCookie cookie);
/**
* 获取好评及五星
* @return
*/
String getComments();
/**
* 获取评分
* @return
*/
String getScore();
/**
* 获取订单
* @param wmPoiId
* @param date
* @param cookie
* @return
*/
R orderInfo(String wmPoiId, String date, String cookie);
/**
* 获取号码
* @param orderId
* @param regionId
* @param regionVersion
* @param cookie
* @return
*/
R priPhoneInfo(String orderId,String regionId,String regionVersion,String cookie);
/**
* 获取mtgsig
* @param orderId
* @param regionId
* @param regionVersion
* @return
*/
String mtgsigInfo(String orderId,String regionId,String regionVersion);
}

View File

@ -6,9 +6,12 @@ import com.alibaba.fastjson2.JSONObject;
import com.ruoyi.business.domain.BusStoreInfo;
import com.ruoyi.business.domain.OrderInfo;
import com.ruoyi.business.domain.PriPhoneInfo;
import com.ruoyi.business.domain.SysCookie;
import com.ruoyi.business.mapper.BusStoreInfoMapper;
import com.ruoyi.business.service.IBusStoreInfoService;
import com.ruoyi.business.service.IMeituanService;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.HttpClientUtilT;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
@ -29,6 +32,9 @@ import java.net.URLEncoder;
import java.util.*;
import java.util.stream.Collectors;
/**
* 采集美团数据service
*/
@Service
public class MeituanServiceImpl implements IMeituanService {
@ -38,6 +44,51 @@ public class MeituanServiceImpl implements IMeituanService {
@Autowired
private StringRedisTemplate redisTemplate;
@Autowired
private IBusStoreInfoService busStoreInfoService;
/**
* 获取cookie
* @param cookie
* @return
*/
@Override
public R cookieInfo(SysCookie cookie) {
BusStoreInfo storeInfo = new BusStoreInfo();
storeInfo.setStoreCode(valueFromCookie("wmPoiId",cookie.getCookie()));
List<BusStoreInfo> list = busStoreInfoService.selectBusStoreInfoList(storeInfo);
if(list.size()==0){
storeInfo.setBindUser(cookie.getUserName());
storeInfo.setStoreAccount(cookie.getAccount());
storeInfo.setStorePassword(cookie.getPassword());
storeInfo.setStoreName(cookie.getWmPoiName());
storeInfo.setStoreCookie(cookie.getCookie());
storeInfo.setPlatformType(String.valueOf(cookie.getBingType()));
storeInfo.setBindTime(new Date());
storeInfo.setGrantStatus("1");//授权登录状态
storeInfo.setReturnVisitStatus("2");// 营销状态
storeInfo.setSelfDeliveryStatus("1");// 1 正常 2 自配送 3 删除
return R.ok(busStoreInfoService.insertBusStoreInfo(storeInfo));
}else if(list.size()==1){
if(!cookie.getUserName().equals(storeInfo.getBindUser())){
throw new ServiceException("授权失败,已绑定其他代理账号!");
}
storeInfo.setStoreAccount(cookie.getAccount());
storeInfo.setStorePassword(cookie.getPassword());
storeInfo.setStoreName(cookie.getWmPoiName());
storeInfo.setStoreCookie(cookie.getCookie());
storeInfo.setPlatformType(String.valueOf(cookie.getBingType()));
return R.ok(busStoreInfoService.updateBusStoreInfo(storeInfo));
}else{
throw new ServiceException("授权失败,请重试!");
}
// 触发爬取店铺信息
}
/**
* 获取好评批量
* @return
*/
@Override
public String getComments() {
BusStoreInfo busStoreInfo = new BusStoreInfo();
@ -49,6 +100,10 @@ public class MeituanServiceImpl implements IMeituanService {
return "ok";
}
/**
* 获取评分批量
* @return
*/
@Override
public String getScore() {
BusStoreInfo busStoreInfo = new BusStoreInfo();
@ -60,6 +115,13 @@ public class MeituanServiceImpl implements IMeituanService {
return "ok";
}
/**
* 获取订单
* @param wmPoiId
* @param date
* @param cookie
* @return
*/
@Override
public R orderInfo(String wmPoiId, String date, String cookie) {
int pageNum = 1;
@ -164,6 +226,14 @@ public class MeituanServiceImpl implements IMeituanService {
return jsonObject;
}
/**
* 获取号码
* @param orderId
* @param regionId
* @param regionVersion
* @param cookie
* @return
*/
@Override
public R priPhoneInfo(String orderId,String regionId,String regionVersion,String cookie) {
String url = "https://e.waimai.meituan.com/v2/order/history/r/search/ajax";
@ -225,6 +295,13 @@ public class MeituanServiceImpl implements IMeituanService {
return R.fail("获取手机号码失败"+resp);
}
/**
* 获取mtgsig
* @param orderId
* @param regionId
* @param regionVersion
* @return
*/
@Override
public String mtgsigInfo(String orderId,String regionId,String regionVersion) {
CloseableHttpClient httpClient = HttpClientBuilder.create().build();
@ -261,7 +338,7 @@ public class MeituanServiceImpl implements IMeituanService {
}
/**
* 获取评分
* 获取评分单条
* @return
*/
private Boolean getScoreOne(BusStoreInfo store) {
@ -279,7 +356,7 @@ public class MeituanServiceImpl implements IMeituanService {
}
/**
* 获取订单数和好评45星
* 获取订单数和好评单条
* @return
*/
private Boolean getCommentsOne(BusStoreInfo store){