修改优化

This commit is contained in:
Lenovo 2024-07-08 10:48:16 +08:00
parent b39e04eb00
commit e9a9653c07
5 changed files with 98 additions and 83 deletions

View File

@ -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);
} }
} }

View File

@ -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

View File

@ -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);
}
} }
} }
} }

View File

@ -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,23 +316,23 @@ 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) {
for (BusOrderInfo orderInfo : ls) {
String url = "https://e.waimai.meituan.com/v2/order/history/r/search/ajax"; String url = "https://e.waimai.meituan.com/v2/order/history/r/search/ajax";
String regionId = valueFromCookie("region_id", cookie); String regionId = valueFromCookie("region_id", cookie);
String regionVersion = valueFromCookie("region_version", cookie); String regionVersion = valueFromCookie("region_version", cookie);
Map<String, Object> params = new LinkedHashMap<>(); Map<String, Object> params = new LinkedHashMap<>();
params.put("searchItem", orderId); params.put("searchItem", orderInfo.getOrderNo());
params.put("region_id", regionId); params.put("region_id", regionId);
params.put("region_version", regionVersion); params.put("region_version", regionVersion);
params.put("yodaReady", "h5"); params.put("yodaReady", "h5");
params.put("csecplatform", 4); params.put("csecplatform", 4);
params.put("csecversion", "2.4.0"); params.put("csecversion", "2.4.0");
String mtgsig = mtgsigInfo(orderId, regionId, regionVersion); String mtgsig = mtgsigInfo(orderInfo.getOrderNo(), regionId, regionVersion);
params.put("mtgsig", mtgsig); params.put("mtgsig", mtgsig);
url = appendParams(url, params); url = appendParams(url, params);
MultipartEntityBuilder builder = MultipartEntityBuilder.create(); MultipartEntityBuilder builder = MultipartEntityBuilder.create();
@ -373,11 +372,11 @@ public class MeituanServiceImpl implements IMeituanService {
list.add(phoneInfo); list.add(phoneInfo);
} }
if (list.size() > 0) { if (list.size() > 0) {
List<BusReturnVisitInfo> ls = new ArrayList<>(); List<BusReturnVisitInfo> lss = new ArrayList<>();
for (PriPhoneInfo phoneInfo : list) { for (PriPhoneInfo phoneInfo : list) {
System.out.println(phoneInfo.getOrderId() + "," + phoneInfo.getPricyPhone() + "," + phoneInfo.getRecipientPhone() + "," + phoneInfo.getRecipientBindedPhone()); System.out.println(phoneInfo.getOrderId() + "," + phoneInfo.getPricyPhone() + "," + phoneInfo.getRecipientPhone() + "," + phoneInfo.getRecipientBindedPhone());
BusOrderInfo busOrderInfo = new BusOrderInfo(phoneInfo); BusOrderInfo busOrderInfo = new BusOrderInfo(phoneInfo);
busOrderInfo.setId(id); busOrderInfo.setId(orderInfo.getId());
busOrderInfoMapper.updateBusOrderInfo(busOrderInfo); busOrderInfoMapper.updateBusOrderInfo(busOrderInfo);
BusReturnVisitInfo returnVisitInfo = new BusReturnVisitInfo(); BusReturnVisitInfo returnVisitInfo = new BusReturnVisitInfo();
returnVisitInfo.setStoreCode(busOrderInfo.getStoreCode()); returnVisitInfo.setStoreCode(busOrderInfo.getStoreCode());
@ -386,15 +385,14 @@ public class MeituanServiceImpl implements IMeituanService {
//returnVisitInfo.setFinishTime(busOrderInfo.getCompleteTime()); todo //returnVisitInfo.setFinishTime(busOrderInfo.getCompleteTime()); todo
returnVisitInfo.setFinishTime(new Date()); 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);
} }
/** /**

View File

@ -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>