From ecca9ab70a9a87bcb60977c92fbf81053b8fc1bb Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期三, 04 九月 2024 09:17:55 +0800 Subject: [PATCH] 新增优化 --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java | 83 +++++++++++++++++++++++++++++++++-------- 1 files changed, 66 insertions(+), 17 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java index 24cde1d..b609db7 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java @@ -4,7 +4,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.constant.Constants; import com.ruoyi.common.core.constant.OrderConstants; +import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.GaoDeMapUtil; +import com.ruoyi.common.core.vo.AddressDto; +import com.ruoyi.common.core.vo.PaperInVo; import com.ruoyi.common.core.vo.Path; import com.ruoyi.order.entity.ChangeDispatch; import com.ruoyi.order.entity.Order; @@ -12,11 +15,16 @@ import com.ruoyi.order.request.UserOrderRequest; import com.ruoyi.order.service.ChangeDispatchService; import com.ruoyi.order.service.OrderService; -import com.ruoyi.order.vo.*; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import javax.annotation.Resource; +import com.ruoyi.order.vo.MoneyQueryRequest; +import com.ruoyi.order.vo.OrderCountRequest; +import com.ruoyi.order.vo.OrderCountVO; +import com.ruoyi.order.vo.OrderPageCountVO; +import com.ruoyi.order.vo.OrderQueryRequest; +import com.ruoyi.order.vo.OrderQueryVO; +import com.ruoyi.order.vo.OrderResultVO; +import com.ruoyi.order.vo.WorkerOrderCountVO; +import com.ruoyi.order.vo.WorkerOrderRankVO; +import com.ruoyi.user.api.feignClient.UserClient; import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -28,6 +36,9 @@ import java.util.Date; import java.util.List; import java.util.Objects; +import javax.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; /** * <p> @@ -43,6 +54,8 @@ @Resource private ChangeDispatchService changeDispatchService; + @Resource + private UserClient userClient; @Override public OrderResultVO orderCountHome(OrderCountRequest orderCount) { @@ -71,11 +84,11 @@ long diffInMillis = date2.getTime() - date1.getTime(); long diffInDays = diffInMillis / (24 * 60 * 60 * 1000); if (diffInDays > Constants.YEAR_DAY) { - list = baseMapper.orderCountByTimeRangeYear(cityList, startTime, endTime,orderState); + list = baseMapper.orderCountByTimeRangeYear(cityList, startTime, endTime, orderState); } else if (diffInDays > Constants.THIRTY) { - list = baseMapper.orderCountByTimeRangeMonth(cityList, startTime, endTime,orderState); + list = baseMapper.orderCountByTimeRangeMonth(cityList, startTime, endTime, orderState); } else { - list = baseMapper.orderCountByTimeRange(cityList, startTime, endTime,orderState); + list = baseMapper.orderCountByTimeRange(cityList, startTime, endTime, orderState); } } catch (ParseException e) { list = new ArrayList<>(); @@ -84,18 +97,21 @@ // 计算订单总额及总订单数量 BigDecimal totalMoney; int orderNumber; + int fakeNumber; if (list.isEmpty()) { totalMoney = BigDecimal.ZERO; orderNumber = 0; + fakeNumber = 0; } else { totalMoney = list.stream().map(OrderQueryVO::getTotalPrice) .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add); orderNumber = list.stream().filter(order -> order.getNumber() != null) .mapToInt(OrderQueryVO::getNumber).sum(); - } - return new + fakeNumber = list.stream().filter(order -> order.getFakeCount() != null) + .mapToInt(OrderQueryVO::getFakeCount).sum(); - OrderResultVO(totalMoney, orderNumber, list); + } + return new OrderResultVO(totalMoney, orderNumber, list,fakeNumber); } @@ -131,8 +147,8 @@ @Override - public Page<OrderCountVO> orderCount(String name, String phone, Page<OrderCountVO> page) { - return baseMapper.orderCount(name, phone, page); + public Page<OrderCountVO> orderCount(String name, String phone, List<String> cityList, Page<OrderCountVO> page) { + return baseMapper.orderCount(name, phone, cityList, page); } @Override @@ -245,6 +261,9 @@ @Override public Boolean placeOrder(UserOrderRequest userOrderRequest) { + + R<AddressDto> cityCode = userClient.getCityCode(userOrderRequest.getAddressId()); + // 下单参数 String orderNumber = userOrderRequest.getOrderNumber(); Integer serveId = userOrderRequest.getServeId(); @@ -269,7 +288,7 @@ order.setUserId(userId); order.setReservationName(reservationName); order.setReservationPhone(reservationPhone); - order.setReservationAddress(address); + order.setReservationAddress(address+cityCode.getData().getName()); order.setTime(time); order.setReservationRemark(reservationRemark); order.setOrderMoney(defaultPrice.add(new BigDecimal(String.valueOf(subsidy)))); @@ -280,11 +299,23 @@ order.setIsWithdrawal(Constants.ZERO); order.setSubsidy(subsidy); order.setAddress(addressDetail); + order.setIsEvaluate(Constants.ZERO); + + order.setCity(cityCode.getData().getCity()); + order.setCityCode(cityCode.getData().getCityCode()); return this.save(order); } + @Override public String orderEstimate(UserOrderRequest userOrderRequest) { + R<AddressDto> cityCode = userClient.getCityCode(userOrderRequest.getAddressId()); + R<BigDecimal> servePrice = userClient.getServePrice(userOrderRequest.getServeId(), cityCode.getData().getCityCode()); + if (servePrice.getData()!=null){ + userOrderRequest.setDefaultPrice(servePrice.getData()); + } + + // 下单参数 String orderNumber = userOrderRequest.getOrderNumber(); Integer serveId = userOrderRequest.getServeId(); @@ -307,12 +338,13 @@ order.setServeName(serveName); order.setServePrice(defaultPrice); order.setUserId(userId); + order.setIsEvaluate(Constants.ZERO); order.setReservationName(reservationName); order.setReservationPhone(reservationPhone); if (null == userOrderRequest.getAddressId()) { - order.setReservationAddress(addressDetail); + order.setReservationAddress(cityCode.getData().getName()+address+cityCode.getData().getDetail()); } else { - order.setReservationAddress(address); + order.setReservationAddress(address+cityCode.getData().getName()+cityCode.getData().getDetail()); } order.setTime(time); order.setReservationRemark(reservationRemark); @@ -327,9 +359,16 @@ order.setLatitude(latitude); order.setIsWithdrawal(Constants.ZERO); order.setSubsidy(subsidy); - order.setAddress(addressDetail); + order.setAddress(""); + order.setCity(cityCode.getData().getCity()); + order.setCityCode(cityCode.getData().getCityCode()); this.save(order); return String.valueOf(order.getId()); + } + + @Override + public List<PaperInVo> papercout(String workId,String date) { + return this.baseMapper.papercout(workId,date); } /** @@ -346,4 +385,14 @@ return Month.OCTOBER; } } + /** + * 增加发送短信次数 + * @param orderId 订单id + */ + @Override + public void messageCount(String orderId) { + Order byId = this.getById(orderId); + byId.setMsgCount(byId.getMsgCount()==null?1:byId.getMsgCount()+1); + this.updateById(byId); + } } -- Gitblit v1.7.1