From 61d2ca3f88f37bc2c4432bc9210102a3c9a9039f Mon Sep 17 00:00:00 2001 From: Lenovo Date: Sat, 20 Jul 2024 10:57:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=98=A8=E6=97=A5=E5=9B=9E=E8=AE=BF=E9=87=8F?= =?UTF-8?q?=E4=B8=8E=E8=90=A5=E9=94=80=E6=AF=94=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/MeituanController.java | 4 +- .../mapper/BusStoreDayHistoryInfoMapper.java | 3 ++ .../business/service/IMeituanService.java | 2 +- .../service/impl/MeituanServiceImpl.java | 42 +++++++++++++++---- .../business/BusStoreDayHistoryInfoMapper.xml | 10 ++++- .../mapper/business/BusStoreInfoMapper.xml | 1 + 6 files changed, 50 insertions(+), 12 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/business/controller/MeituanController.java b/ruoyi-admin/src/main/java/com/ruoyi/business/controller/MeituanController.java index a3897ee..698fedc 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/business/controller/MeituanController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/business/controller/MeituanController.java @@ -39,18 +39,20 @@ public class MeituanController { @GetMapping("/refresh") public R refresh(){ iMeituanService.getComments(SecurityUtils.getUsername()); + iMeituanService.getReturnInfo(null); return R.ok(); } @GetMapping("/getComment") public R getComment(Long id){ iMeituanService.getComment(id); + iMeituanService.getReturnInfo(id); return R.ok(); } @GetMapping("/getReturnInfo") public R getReturnInfo(){ - iMeituanService.getReturnInfo(); + iMeituanService.getReturnInfo(null); return R.ok(); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/business/mapper/BusStoreDayHistoryInfoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/business/mapper/BusStoreDayHistoryInfoMapper.java index 0293e83..2919456 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/business/mapper/BusStoreDayHistoryInfoMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/business/mapper/BusStoreDayHistoryInfoMapper.java @@ -5,6 +5,7 @@ import com.ruoyi.business.domain.BusStoreDayInfo; import com.ruoyi.business.domain.BusStoreExcelInfo; import org.apache.ibatis.annotations.Param; +import java.time.LocalDateTime; import java.util.List; /** @@ -63,4 +64,6 @@ public interface BusStoreDayHistoryInfoMapper */ public int deleteBusStoreDayHistoryInfoByIds(Long[] ids); BusStoreDayHistoryInfo getByDate(@Param("id") Long id, @Param("sT") String sT, @Param("eT") String eT); + + List selectBusStoreDayHistoryInfoListByDate(@Param("id") Long id,@Param("date") String date); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/business/service/IMeituanService.java b/ruoyi-system/src/main/java/com/ruoyi/business/service/IMeituanService.java index 19bded1..561478c 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/business/service/IMeituanService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/business/service/IMeituanService.java @@ -54,7 +54,7 @@ public interface IMeituanService { String mtgsigInfo(String orderId,String regionId,String regionVersion); String getStoreName(String cookie); - void getReturnInfo(); + void getReturnInfo(Long id); String getComment(Long id); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/MeituanServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/MeituanServiceImpl.java index f7763ef..1c9a6bf 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/MeituanServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/MeituanServiceImpl.java @@ -41,6 +41,7 @@ import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; +import java.util.stream.Collectors; /** * 采集美团数据service @@ -396,6 +397,7 @@ public class MeituanServiceImpl implements IMeituanService { list.add(orderInfo); } if (list.size() > 0) { + List newList = list.stream().collect(Collectors.toMap(BusOrderInfo::getDayseq, p->p,(p1, p2)->p1)).values().stream().collect(Collectors.toList()); // list.stream().sorted(Comparator.comparing(OrderInfo::getDaySeq)).collect(Collectors.toList()); // int integral = iBusAgentInfoService.getIntegralByAccount(busStoreInfoMapper.getBindUserByStoreCode(wmPoiId)); // for (OrderInfo orderInfo : list) { @@ -405,9 +407,9 @@ public class MeituanServiceImpl implements IMeituanService { // busOrderInfoMapper.insertBusOrderInfo(busOrderInfo); // priPhoneInfo(busOrderInfo.getId(),orderInfo.getWmOrderViewId(),cookie); // } - busOrderInfoMapper.batchInsertOrder(list); + busOrderInfoMapper.batchInsertOrder(newList); - priPhoneInfo(list,cookie); + priPhoneInfo(newList,cookie); } pageNum += 1; JSONObject jo = merchantOrders(pageNum, date, cookie); @@ -645,11 +647,14 @@ public class MeituanServiceImpl implements IMeituanService { } @Override - public void getReturnInfo() { - getComments(null); + public void getReturnInfo(Long id) { +// getComments(null); DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); LocalDateTime date = LocalDateTime.now().minusDays(1); BusStoreInfo storeInfo = new BusStoreInfo(); + if (id != null){ + storeInfo.setId(id); + } List storeInfoList = busStoreInfoMapper.selectBusStoreInfoList(storeInfo); for (BusStoreInfo busStoreInfo : storeInfoList) { List list = busReturnVisitInfoMapper.selectBusReturnVisitInfoListByDate(busStoreInfo.getStoreCode(), date.format(dateTimeFormatter)); @@ -659,17 +664,36 @@ public class MeituanServiceImpl implements IMeituanService { if (list1.size() == 1) { busStoreDayInfo = list1.get(0); busStoreDayInfo.setLastReturnVisitNum(list.size()); + int a = busStoreDayInfo.getLastPositiveReviewsNum();//todo 好评-五星 + int b = busStoreDayInfo.getLastReturnVisitNum(); + if (a != 0 && b != 0) { + busStoreDayInfo.setLastReturnVisitRate(getRate(a,b)); + } else { + busStoreDayInfo.setLastReturnVisitRate("0"); + } busStoreDayInfoMapper.updateBusStoreDayInfo(busStoreDayInfo); - BusStoreDayHistoryInfo target = new BusStoreDayHistoryInfo(); - BeanUtils.copyProperties(busStoreDayInfo,target); - target.setId(null); - busStoreDayHistoryInfoMapper.insertBusStoreDayHistoryInfo(target); - + List list2 = busStoreDayHistoryInfoMapper.selectBusStoreDayHistoryInfoListByDate(storeInfo.getId(),date.format(dateTimeFormatter)); + if (list2.size() > 0){ + BusStoreDayHistoryInfo target = new BusStoreDayHistoryInfo(); + BeanUtils.copyProperties(busStoreDayInfo, target); + target.setId(list2.get(0).getId()); + busStoreDayHistoryInfoMapper.updateBusStoreDayHistoryInfo(target); + }else { + BusStoreDayHistoryInfo target = new BusStoreDayHistoryInfo(); + BeanUtils.copyProperties(busStoreDayInfo, target); + target.setId(null); + busStoreDayHistoryInfoMapper.insertBusStoreDayHistoryInfo(target); + } } } } + private String getRate(int a, int b){ + java.text.DecimalFormat df = new java.text.DecimalFormat("0.00"); + return df.format(((double) a / b)*100); + } + /** * 获取评分单条 * diff --git a/ruoyi-system/src/main/resources/mapper/business/BusStoreDayHistoryInfoMapper.xml b/ruoyi-system/src/main/resources/mapper/business/BusStoreDayHistoryInfoMapper.xml index 785a91e..bde347e 100644 --- a/ruoyi-system/src/main/resources/mapper/business/BusStoreDayHistoryInfoMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/business/BusStoreDayHistoryInfoMapper.xml @@ -36,7 +36,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + diff --git a/ruoyi-system/src/main/resources/mapper/business/BusStoreInfoMapper.xml b/ruoyi-system/src/main/resources/mapper/business/BusStoreInfoMapper.xml index aa35205..f432478 100644 --- a/ruoyi-system/src/main/resources/mapper/business/BusStoreInfoMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/business/BusStoreInfoMapper.xml @@ -43,6 +43,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" self_delivery_status != '3' + and id = #{id} and platform_type = #{platformType} and store_code = #{storeCode} and store_name like concat('%', #{storeName}, '%')