修改优化
This commit is contained in:
parent
b39e04eb00
commit
e9a9653c07
|
@ -1,11 +1,17 @@
|
||||||
package com.ruoyi.business.controller;
|
package com.ruoyi.business.controller;
|
||||||
|
|
||||||
|
import com.ruoyi.business.domain.BusOrderInfo;
|
||||||
import com.ruoyi.business.domain.SysCookie;
|
import com.ruoyi.business.domain.SysCookie;
|
||||||
|
import com.ruoyi.business.mapper.BusOrderInfoMapper;
|
||||||
|
import com.ruoyi.business.service.IBusOrderInfoService;
|
||||||
import com.ruoyi.business.service.IMeituanService;
|
import com.ruoyi.business.service.IMeituanService;
|
||||||
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.core.domain.R;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 采集美团接口
|
* 采集美团接口
|
||||||
|
@ -16,6 +22,7 @@ public class MeituanController {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IMeituanService iMeituanService;
|
private IMeituanService iMeituanService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取cookies
|
* 获取cookies
|
||||||
* @param cookie
|
* @param cookie
|
||||||
|
@ -53,8 +60,9 @@ public class MeituanController {
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
@GetMapping("/getPriPhone")
|
@GetMapping("/getPriPhone")
|
||||||
public R priPhone(String orderId, String cookie) {
|
public void priPhone(String orderId, String cookie) {
|
||||||
return iMeituanService.priPhoneInfo(0L,orderId, cookie);
|
List<BusOrderInfo> list = new ArrayList<>();
|
||||||
|
iMeituanService.priPhoneInfo(list, cookie);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -82,4 +90,5 @@ public class MeituanController {
|
||||||
return iMeituanService.mtgsigInfo(orderId,regionId,regionVersion);
|
return iMeituanService.mtgsigInfo(orderId,regionId,regionVersion);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,11 @@
|
||||||
package com.ruoyi.business.service;
|
package com.ruoyi.business.service;
|
||||||
|
|
||||||
|
import com.ruoyi.business.domain.BusOrderInfo;
|
||||||
import com.ruoyi.business.domain.SysCookie;
|
import com.ruoyi.business.domain.SysCookie;
|
||||||
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.core.domain.R;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public interface IMeituanService {
|
public interface IMeituanService {
|
||||||
/**
|
/**
|
||||||
* 获取cookie
|
* 获取cookie
|
||||||
|
@ -40,11 +43,11 @@ public interface IMeituanService {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取号码
|
* 获取号码
|
||||||
* @param orderId
|
* @param
|
||||||
* @param cookie
|
* @param cookie
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
R priPhoneInfo(Long id, String orderId, String cookie);
|
void priPhoneInfo(List<BusOrderInfo> list, String cookie);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取mtgsig
|
* 获取mtgsig
|
||||||
|
|
|
@ -164,8 +164,8 @@ public class AiServiceImpl implements IAiService
|
||||||
aiInfo.setSource(source);
|
aiInfo.setSource(source);
|
||||||
try {
|
try {
|
||||||
aiInfoService.insertBusAiInfo(aiInfo);
|
aiInfoService.insertBusAiInfo(aiInfo);
|
||||||
// long saveId = aiInfo.getId();
|
long saveId = aiInfo.getId();
|
||||||
// reduceIntegral(saveId);
|
reduceIntegral(saveId);
|
||||||
}catch (Exception e) {
|
}catch (Exception e) {
|
||||||
System.out.println(id+"duplicate");
|
System.out.println(id+"duplicate");
|
||||||
}
|
}
|
||||||
|
@ -181,18 +181,23 @@ public class AiServiceImpl implements IAiService
|
||||||
private void reduceIntegral(long aiId){
|
private void reduceIntegral(long aiId){
|
||||||
BusAiInfo aiInfo = aiInfoService.selectBusAiInfoById(aiId);
|
BusAiInfo aiInfo = aiInfoService.selectBusAiInfoById(aiId);
|
||||||
BusOrderInfo orderInfo = new BusOrderInfo();
|
BusOrderInfo orderInfo = new BusOrderInfo();
|
||||||
orderInfo.setPrivcyPhone(aiInfo.getPhone());
|
orderInfo.setPrivcyPhone(aiInfo.getPhone()+","+aiInfo.getVirtualExtensionNumber());
|
||||||
List<BusOrderInfo> temp = orderInfoService.selectBusOrderInfoList(orderInfo);
|
List<BusOrderInfo> temp = orderInfoService.selectBusOrderInfoList(orderInfo);
|
||||||
if(temp.size() > 0){
|
if(temp.size() > 0){
|
||||||
BusStoreInfo storeInfo = new BusStoreInfo();
|
BusStoreInfo storeInfo = new BusStoreInfo();
|
||||||
storeInfo.setStoreCode(temp.get(0).getStoreCode());
|
storeInfo.setStoreCode(temp.get(0).getStoreCode());
|
||||||
List<BusStoreInfo> tempStore = storeInfoService.selectBusStoreInfoList(storeInfo);
|
List<BusStoreInfo> tempStore = storeInfoService.selectBusStoreInfoList(storeInfo);
|
||||||
if (tempStore.size() > 0){
|
if (tempStore.size() > 0){
|
||||||
BusAgentInfo agentInfo = agentInfoService.selectBusAgentInfoById(tempStore.get(0).getBindId());
|
BusAgentInfo agentInfo = new BusAgentInfo();
|
||||||
int a = (Integer.valueOf(aiInfo.getTalktimes())/60)+1;
|
agentInfo.setAgentAccount(tempStore.get(0).getBindUser());
|
||||||
int reduce = Integer.valueOf(agentInfo.getIntegral()) - a;
|
List<BusAgentInfo> agentInfoL = agentInfoService.selectBusAgentInfoList(agentInfo);
|
||||||
agentInfo.setIntegral(String.valueOf(reduce));
|
if (agentInfoL.size() > 0) {
|
||||||
agentInfoService.updateBusAgentInfo(agentInfo);
|
BusAgentInfo busAgentInfo = agentInfoL.get(0);
|
||||||
|
int a = (Integer.valueOf(aiInfo.getTalktimes()) / 60) + 1;
|
||||||
|
int reduce = Integer.valueOf(busAgentInfo.getIntegral()) - a;
|
||||||
|
busAgentInfo.setIntegral(String.valueOf(reduce));
|
||||||
|
agentInfoService.updateBusAgentInfo(busAgentInfo);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -240,6 +240,7 @@ public class MeituanServiceImpl implements IMeituanService {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
orderInfo.setId(new Random().nextLong());
|
||||||
orderInfo.setDayseq(daySeq);
|
orderInfo.setDayseq(daySeq);
|
||||||
orderInfo.setOrderNo(wmOrderViewId);
|
orderInfo.setOrderNo(wmOrderViewId);
|
||||||
orderInfo.setCompleteTime(expectTime);
|
orderInfo.setCompleteTime(expectTime);
|
||||||
|
@ -259,9 +260,7 @@ public class MeituanServiceImpl implements IMeituanService {
|
||||||
// }
|
// }
|
||||||
busOrderInfoMapper.batchInsertOrder(list);
|
busOrderInfoMapper.batchInsertOrder(list);
|
||||||
|
|
||||||
for (BusOrderInfo orderInfo : list) {
|
priPhoneInfo(list,cookie);
|
||||||
priPhoneInfo(orderInfo.getId(),orderInfo.getOrderNo(),cookie);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
pageNum += 1;
|
pageNum += 1;
|
||||||
JSONObject jo = merchantOrders(pageNum, date, cookie);
|
JSONObject jo = merchantOrders(pageNum, date, cookie);
|
||||||
|
@ -317,84 +316,83 @@ public class MeituanServiceImpl implements IMeituanService {
|
||||||
/**
|
/**
|
||||||
* 获取号码
|
* 获取号码
|
||||||
*
|
*
|
||||||
* @param orderId
|
|
||||||
* @param cookie
|
* @param cookie
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public R priPhoneInfo(Long id, String orderId, String cookie) {
|
public void priPhoneInfo(List<BusOrderInfo> ls, String cookie) {
|
||||||
String url = "https://e.waimai.meituan.com/v2/order/history/r/search/ajax";
|
for (BusOrderInfo orderInfo : ls) {
|
||||||
String regionId = valueFromCookie("region_id", cookie);
|
String url = "https://e.waimai.meituan.com/v2/order/history/r/search/ajax";
|
||||||
String regionVersion = valueFromCookie("region_version", cookie);
|
String regionId = valueFromCookie("region_id", cookie);
|
||||||
Map<String, Object> params = new LinkedHashMap<>();
|
String regionVersion = valueFromCookie("region_version", cookie);
|
||||||
params.put("searchItem", orderId);
|
Map<String, Object> params = new LinkedHashMap<>();
|
||||||
params.put("region_id", regionId);
|
params.put("searchItem", orderInfo.getOrderNo());
|
||||||
params.put("region_version", regionVersion);
|
params.put("region_id", regionId);
|
||||||
params.put("yodaReady", "h5");
|
params.put("region_version", regionVersion);
|
||||||
params.put("csecplatform", 4);
|
params.put("yodaReady", "h5");
|
||||||
params.put("csecversion", "2.4.0");
|
params.put("csecplatform", 4);
|
||||||
String mtgsig = mtgsigInfo(orderId, regionId, regionVersion);
|
params.put("csecversion", "2.4.0");
|
||||||
params.put("mtgsig", mtgsig);
|
String mtgsig = mtgsigInfo(orderInfo.getOrderNo(), regionId, regionVersion);
|
||||||
url = appendParams(url, params);
|
params.put("mtgsig", mtgsig);
|
||||||
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
|
url = appendParams(url, params);
|
||||||
|
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
|
||||||
// builder.addTextBody("searchItem","3801144621770927987");
|
// builder.addTextBody("searchItem","3801144621770927987");
|
||||||
HttpPost httpPost = new HttpPost(url);
|
HttpPost httpPost = new HttpPost(url);
|
||||||
HttpEntity entity = builder.build();
|
HttpEntity entity = builder.build();
|
||||||
httpPost.setEntity(entity);
|
httpPost.setEntity(entity);
|
||||||
httpPost.setHeader("Cookie", cookie);
|
httpPost.setHeader("Cookie", cookie);
|
||||||
|
|
||||||
HttpClient client = proxyHttpClient();
|
HttpClient client = proxyHttpClient();
|
||||||
|
|
||||||
String resp = null;
|
String resp = null;
|
||||||
try {
|
try {
|
||||||
HttpResponse response = client.execute(httpPost);
|
HttpResponse response = client.execute(httpPost);
|
||||||
HttpEntity responseEntity = response.getEntity();
|
HttpEntity responseEntity = response.getEntity();
|
||||||
resp = EntityUtils.toString(responseEntity);
|
resp = EntityUtils.toString(responseEntity);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
|
||||||
JSONObject jsonObject = JSONObject.parseObject(resp);
|
|
||||||
String code = jsonObject.getString(("code"));
|
|
||||||
|
|
||||||
if ("0".equals(code)) {
|
|
||||||
JSONArray array = jsonObject.getJSONArray("wmOrderList");
|
|
||||||
List<PriPhoneInfo> list = new ArrayList<>();
|
|
||||||
for (Object o : array) {
|
|
||||||
PriPhoneInfo phoneInfo = new PriPhoneInfo();
|
|
||||||
JSONObject oj = JSONObject.parseObject(JSON.toJSONString(o));
|
|
||||||
String wmOrderViewId = oj.getString("wm_order_id_view");
|
|
||||||
String privacyPhone = oj.getString("privacy_phone");
|
|
||||||
String recipientPhone = oj.getString("recipient_phone");
|
|
||||||
String recipientBindedPhone = oj.getString("recipient_bindedPhone");
|
|
||||||
phoneInfo.setOrderId(wmOrderViewId);
|
|
||||||
phoneInfo.setPricyPhone(privacyPhone);
|
|
||||||
phoneInfo.setRecipientPhone(recipientPhone);
|
|
||||||
phoneInfo.setRecipientBindedPhone(recipientBindedPhone);
|
|
||||||
list.add(phoneInfo);
|
|
||||||
}
|
}
|
||||||
if (list.size() > 0) {
|
JSONObject jsonObject = JSONObject.parseObject(resp);
|
||||||
List<BusReturnVisitInfo> ls = new ArrayList<>();
|
String code = jsonObject.getString(("code"));
|
||||||
for (PriPhoneInfo phoneInfo : list) {
|
|
||||||
System.out.println(phoneInfo.getOrderId() + "," + phoneInfo.getPricyPhone() + "," + phoneInfo.getRecipientPhone() + "," + phoneInfo.getRecipientBindedPhone());
|
if ("0".equals(code)) {
|
||||||
BusOrderInfo busOrderInfo = new BusOrderInfo(phoneInfo);
|
JSONArray array = jsonObject.getJSONArray("wmOrderList");
|
||||||
busOrderInfo.setId(id);
|
List<PriPhoneInfo> list = new ArrayList<>();
|
||||||
busOrderInfoMapper.updateBusOrderInfo(busOrderInfo);
|
for (Object o : array) {
|
||||||
BusReturnVisitInfo returnVisitInfo = new BusReturnVisitInfo();
|
PriPhoneInfo phoneInfo = new PriPhoneInfo();
|
||||||
returnVisitInfo.setStoreCode(busOrderInfo.getStoreCode());
|
JSONObject oj = JSONObject.parseObject(JSON.toJSONString(o));
|
||||||
returnVisitInfo.setPhoneEndNumber(busOrderInfo.getRecipientPhone());
|
String wmOrderViewId = oj.getString("wm_order_id_view");
|
||||||
returnVisitInfo.setPhoneNumber(busOrderInfo.getPrivcyPhone());
|
String privacyPhone = oj.getString("privacy_phone");
|
||||||
//returnVisitInfo.setFinishTime(busOrderInfo.getCompleteTime()); todo
|
String recipientPhone = oj.getString("recipient_phone");
|
||||||
returnVisitInfo.setFinishTime(new Date());
|
String recipientBindedPhone = oj.getString("recipient_bindedPhone");
|
||||||
|
phoneInfo.setOrderId(wmOrderViewId);
|
||||||
|
phoneInfo.setPricyPhone(privacyPhone);
|
||||||
|
phoneInfo.setRecipientPhone(recipientPhone);
|
||||||
|
phoneInfo.setRecipientBindedPhone(recipientBindedPhone);
|
||||||
|
list.add(phoneInfo);
|
||||||
|
}
|
||||||
|
if (list.size() > 0) {
|
||||||
|
List<BusReturnVisitInfo> lss = new ArrayList<>();
|
||||||
|
for (PriPhoneInfo phoneInfo : list) {
|
||||||
|
System.out.println(phoneInfo.getOrderId() + "," + phoneInfo.getPricyPhone() + "," + phoneInfo.getRecipientPhone() + "," + phoneInfo.getRecipientBindedPhone());
|
||||||
|
BusOrderInfo busOrderInfo = new BusOrderInfo(phoneInfo);
|
||||||
|
busOrderInfo.setId(orderInfo.getId());
|
||||||
|
busOrderInfoMapper.updateBusOrderInfo(busOrderInfo);
|
||||||
|
BusReturnVisitInfo returnVisitInfo = new BusReturnVisitInfo();
|
||||||
|
returnVisitInfo.setStoreCode(busOrderInfo.getStoreCode());
|
||||||
|
returnVisitInfo.setPhoneEndNumber(busOrderInfo.getRecipientPhone());
|
||||||
|
returnVisitInfo.setPhoneNumber(busOrderInfo.getPrivcyPhone());
|
||||||
|
//returnVisitInfo.setFinishTime(busOrderInfo.getCompleteTime()); todo
|
||||||
|
returnVisitInfo.setFinishTime(new Date());
|
||||||
// busReturnVisitInfoMapper.insertBusReturnVisitInfo(returnVisitInfo);
|
// busReturnVisitInfoMapper.insertBusReturnVisitInfo(returnVisitInfo);
|
||||||
ls.add(returnVisitInfo);
|
lss.add(returnVisitInfo);
|
||||||
|
}
|
||||||
|
if (lss.size() > 0) {
|
||||||
|
busReturnVisitInfoMapper.batchInsertVisit(lss);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (ls.size() > 0){
|
|
||||||
busReturnVisitInfoMapper.batchInsertVisit(ls);
|
|
||||||
}
|
|
||||||
return R.ok(JSON.toJSON(list));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return R.fail("获取手机号码失败" + resp);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -46,9 +46,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<insert id="batchInsertOrder">
|
<insert id="batchInsertOrder">
|
||||||
insert into bus_order_info (store_code,custom_id,order_no,order_status,complete_time,dayseq) values
|
insert into bus_order_info (id,store_code,custom_id,order_no,order_status,complete_time,dayseq) values
|
||||||
<foreach collection="list" separator="," item="item">
|
<foreach collection="list" separator="," item="item">
|
||||||
(#{item.storeCode},#{item.customId},#{item.orderNo},#{item.orderStatus},#{item.completeTime},#{item.dayseq})
|
(#{item.id},#{item.storeCode},#{item.customId},#{item.orderNo},#{item.orderStatus},#{item.completeTime},#{item.dayseq})
|
||||||
</foreach>
|
</foreach>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue