修改优化
This commit is contained in:
parent
b39e04eb00
commit
e9a9653c07
|
@ -1,11 +1,17 @@
|
|||
package com.ruoyi.business.controller;
|
||||
|
||||
import com.ruoyi.business.domain.BusOrderInfo;
|
||||
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.common.core.domain.R;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* 采集美团接口
|
||||
|
@ -16,6 +22,7 @@ public class MeituanController {
|
|||
|
||||
@Autowired
|
||||
private IMeituanService iMeituanService;
|
||||
|
||||
/**
|
||||
* 获取cookies
|
||||
* @param cookie
|
||||
|
@ -53,8 +60,9 @@ public class MeituanController {
|
|||
* @throws Exception
|
||||
*/
|
||||
@GetMapping("/getPriPhone")
|
||||
public R priPhone(String orderId, String cookie) {
|
||||
return iMeituanService.priPhoneInfo(0L,orderId, cookie);
|
||||
public void priPhone(String orderId, String cookie) {
|
||||
List<BusOrderInfo> list = new ArrayList<>();
|
||||
iMeituanService.priPhoneInfo(list, cookie);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -82,4 +90,5 @@ public class MeituanController {
|
|||
return iMeituanService.mtgsigInfo(orderId,regionId,regionVersion);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -1,8 +1,11 @@
|
|||
package com.ruoyi.business.service;
|
||||
|
||||
import com.ruoyi.business.domain.BusOrderInfo;
|
||||
import com.ruoyi.business.domain.SysCookie;
|
||||
import com.ruoyi.common.core.domain.R;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface IMeituanService {
|
||||
/**
|
||||
* 获取cookie
|
||||
|
@ -40,11 +43,11 @@ public interface IMeituanService {
|
|||
|
||||
/**
|
||||
* 获取号码
|
||||
* @param orderId
|
||||
* @param
|
||||
* @param cookie
|
||||
* @return
|
||||
*/
|
||||
R priPhoneInfo(Long id, String orderId, String cookie);
|
||||
void priPhoneInfo(List<BusOrderInfo> list, String cookie);
|
||||
|
||||
/**
|
||||
* 获取mtgsig
|
||||
|
|
|
@ -164,8 +164,8 @@ public class AiServiceImpl implements IAiService
|
|||
aiInfo.setSource(source);
|
||||
try {
|
||||
aiInfoService.insertBusAiInfo(aiInfo);
|
||||
// long saveId = aiInfo.getId();
|
||||
// reduceIntegral(saveId);
|
||||
long saveId = aiInfo.getId();
|
||||
reduceIntegral(saveId);
|
||||
}catch (Exception e) {
|
||||
System.out.println(id+"duplicate");
|
||||
}
|
||||
|
@ -181,18 +181,23 @@ public class AiServiceImpl implements IAiService
|
|||
private void reduceIntegral(long aiId){
|
||||
BusAiInfo aiInfo = aiInfoService.selectBusAiInfoById(aiId);
|
||||
BusOrderInfo orderInfo = new BusOrderInfo();
|
||||
orderInfo.setPrivcyPhone(aiInfo.getPhone());
|
||||
orderInfo.setPrivcyPhone(aiInfo.getPhone()+","+aiInfo.getVirtualExtensionNumber());
|
||||
List<BusOrderInfo> temp = orderInfoService.selectBusOrderInfoList(orderInfo);
|
||||
if(temp.size() > 0){
|
||||
BusStoreInfo storeInfo = new BusStoreInfo();
|
||||
storeInfo.setStoreCode(temp.get(0).getStoreCode());
|
||||
List<BusStoreInfo> tempStore = storeInfoService.selectBusStoreInfoList(storeInfo);
|
||||
if (tempStore.size() > 0){
|
||||
BusAgentInfo agentInfo = agentInfoService.selectBusAgentInfoById(tempStore.get(0).getBindId());
|
||||
int a = (Integer.valueOf(aiInfo.getTalktimes())/60)+1;
|
||||
int reduce = Integer.valueOf(agentInfo.getIntegral()) - a;
|
||||
agentInfo.setIntegral(String.valueOf(reduce));
|
||||
agentInfoService.updateBusAgentInfo(agentInfo);
|
||||
BusAgentInfo agentInfo = new BusAgentInfo();
|
||||
agentInfo.setAgentAccount(tempStore.get(0).getBindUser());
|
||||
List<BusAgentInfo> agentInfoL = agentInfoService.selectBusAgentInfoList(agentInfo);
|
||||
if (agentInfoL.size() > 0) {
|
||||
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;
|
||||
}
|
||||
}
|
||||
orderInfo.setId(new Random().nextLong());
|
||||
orderInfo.setDayseq(daySeq);
|
||||
orderInfo.setOrderNo(wmOrderViewId);
|
||||
orderInfo.setCompleteTime(expectTime);
|
||||
|
@ -259,9 +260,7 @@ public class MeituanServiceImpl implements IMeituanService {
|
|||
// }
|
||||
busOrderInfoMapper.batchInsertOrder(list);
|
||||
|
||||
for (BusOrderInfo orderInfo : list) {
|
||||
priPhoneInfo(orderInfo.getId(),orderInfo.getOrderNo(),cookie);
|
||||
}
|
||||
priPhoneInfo(list,cookie);
|
||||
}
|
||||
pageNum += 1;
|
||||
JSONObject jo = merchantOrders(pageNum, date, cookie);
|
||||
|
@ -317,84 +316,83 @@ public class MeituanServiceImpl implements IMeituanService {
|
|||
/**
|
||||
* 获取号码
|
||||
*
|
||||
* @param orderId
|
||||
* @param cookie
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public R priPhoneInfo(Long id, String orderId, String cookie) {
|
||||
String url = "https://e.waimai.meituan.com/v2/order/history/r/search/ajax";
|
||||
String regionId = valueFromCookie("region_id", cookie);
|
||||
String regionVersion = valueFromCookie("region_version", cookie);
|
||||
Map<String, Object> params = new LinkedHashMap<>();
|
||||
params.put("searchItem", orderId);
|
||||
params.put("region_id", regionId);
|
||||
params.put("region_version", regionVersion);
|
||||
params.put("yodaReady", "h5");
|
||||
params.put("csecplatform", 4);
|
||||
params.put("csecversion", "2.4.0");
|
||||
String mtgsig = mtgsigInfo(orderId, regionId, regionVersion);
|
||||
params.put("mtgsig", mtgsig);
|
||||
url = appendParams(url, params);
|
||||
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
|
||||
public void priPhoneInfo(List<BusOrderInfo> ls, String cookie) {
|
||||
for (BusOrderInfo orderInfo : ls) {
|
||||
String url = "https://e.waimai.meituan.com/v2/order/history/r/search/ajax";
|
||||
String regionId = valueFromCookie("region_id", cookie);
|
||||
String regionVersion = valueFromCookie("region_version", cookie);
|
||||
Map<String, Object> params = new LinkedHashMap<>();
|
||||
params.put("searchItem", orderInfo.getOrderNo());
|
||||
params.put("region_id", regionId);
|
||||
params.put("region_version", regionVersion);
|
||||
params.put("yodaReady", "h5");
|
||||
params.put("csecplatform", 4);
|
||||
params.put("csecversion", "2.4.0");
|
||||
String mtgsig = mtgsigInfo(orderInfo.getOrderNo(), regionId, regionVersion);
|
||||
params.put("mtgsig", mtgsig);
|
||||
url = appendParams(url, params);
|
||||
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
|
||||
// builder.addTextBody("searchItem","3801144621770927987");
|
||||
HttpPost httpPost = new HttpPost(url);
|
||||
HttpEntity entity = builder.build();
|
||||
httpPost.setEntity(entity);
|
||||
httpPost.setHeader("Cookie", cookie);
|
||||
HttpPost httpPost = new HttpPost(url);
|
||||
HttpEntity entity = builder.build();
|
||||
httpPost.setEntity(entity);
|
||||
httpPost.setHeader("Cookie", cookie);
|
||||
|
||||
HttpClient client = proxyHttpClient();
|
||||
HttpClient client = proxyHttpClient();
|
||||
|
||||
String resp = null;
|
||||
try {
|
||||
HttpResponse response = client.execute(httpPost);
|
||||
HttpEntity responseEntity = response.getEntity();
|
||||
resp = EntityUtils.toString(responseEntity);
|
||||
} catch (Exception e) {
|
||||
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);
|
||||
String resp = null;
|
||||
try {
|
||||
HttpResponse response = client.execute(httpPost);
|
||||
HttpEntity responseEntity = response.getEntity();
|
||||
resp = EntityUtils.toString(responseEntity);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
if (list.size() > 0) {
|
||||
List<BusReturnVisitInfo> ls = new ArrayList<>();
|
||||
for (PriPhoneInfo phoneInfo : list) {
|
||||
System.out.println(phoneInfo.getOrderId() + "," + phoneInfo.getPricyPhone() + "," + phoneInfo.getRecipientPhone() + "," + phoneInfo.getRecipientBindedPhone());
|
||||
BusOrderInfo busOrderInfo = new BusOrderInfo(phoneInfo);
|
||||
busOrderInfo.setId(id);
|
||||
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());
|
||||
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) {
|
||||
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);
|
||||
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>
|
||||
|
||||
<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">
|
||||
(#{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>
|
||||
</insert>
|
||||
|
||||
|
|
Loading…
Reference in New Issue