From ac33810ec25bdc540342f700d67bb177e4370cd2 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期三, 25 六月 2025 17:26:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev
---
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java | 227 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 207 insertions(+), 20 deletions(-)
diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java
index c72f80d..32f12f1 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java
@@ -1,31 +1,44 @@
package com.ruoyi.order.controller;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.constant.Constants;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.exception.GlobalException;
-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.*;
+import com.ruoyi.order.entity.ChangeDispatch;
+import com.ruoyi.order.entity.Evaluate;
+import com.ruoyi.order.entity.Order;
+import com.ruoyi.order.entity.ServeCoordinate;
+import com.ruoyi.order.entity.ServeRecord;
import com.ruoyi.order.request.OrderCountDataRequest;
import com.ruoyi.order.request.OrderRequest;
import com.ruoyi.order.request.OrderSubmitRequest;
import com.ruoyi.order.request.UserOrderRequest;
-import com.ruoyi.order.service.*;
-import com.ruoyi.order.vo.*;
+import com.ruoyi.order.service.ChangeDispatchService;
+import com.ruoyi.order.service.EvaluateService;
+import com.ruoyi.order.service.OrderService;
+import com.ruoyi.order.service.ServeCoordinateService;
+import com.ruoyi.order.service.ServeRecordService;
+import com.ruoyi.order.vo.MoneyQueryRequest;
+import com.ruoyi.order.vo.OrderCountRequest;
+import com.ruoyi.order.vo.OrderCountVO;
+import com.ruoyi.order.vo.OrderDetailVO;
+import com.ruoyi.order.vo.OrderPageCountVO;
+import com.ruoyi.order.vo.OrderQueryRequest;
+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 io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
@@ -34,6 +47,15 @@
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
+import javax.annotation.Resource;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
/**
* <p>
@@ -86,6 +108,10 @@
return R.ok(orderService.queryPage(orderQueryRequest));
}
+ @PostMapping(value = "/queryPage1")
+ public R<List<String>> queryPage1(@RequestBody OrderQueryRequest orderQueryRequest) {
+ return R.ok(orderService.queryPage1(orderQueryRequest));
+ }
/**
* 订单列表
*/
@@ -105,6 +131,36 @@
return R.ok(orderService.lambdaUpdate()
.eq(Order::getId, orderId).set(Order::getState, state).update());
}
+
+
+ @ApiOperation(value = "订单列表-增加打印次数", tags = {"后台-订单管理"})
+ @PostMapping(value = "/count")
+ public R<Boolean> count(@RequestParam("orderId") String orderId) {
+ Order byId = orderService.getById(orderId);
+ byId.setPrintCount(byId.getPrintCount()==null?1:byId.getPrintCount()+1);
+ orderService.updateById(byId);
+ return R.ok();
+ }
+
+ /**
+ * 增加发送短信次数
+ * @param orderId 订单id
+ */
+ @ApiOperation(value = "订单列表-增加发送短信次数", tags = {"后台-订单管理"})
+ @PostMapping(value = "/msgCount")
+ public R messageCount(@RequestParam("orderId") String orderId) {
+ orderService.messageCount(orderId);
+ return R.ok();
+ }
+ @ApiOperation(value = "订单列表-获取入库单", tags = {"后台-订单管理"})
+ @PostMapping(value = "/papercount")
+ public R<List<PaperInVo>> inpaper(@RequestParam("workId") String workId,@RequestParam("date") String date) {
+
+ List<PaperInVo> paper = orderService.papercout(workId,date);
+ return R.ok(paper);
+ }
+
+
/**
* 更改订单状态且清空到达时间
@@ -225,6 +281,12 @@
return R.ok(collect);
}
+ @PostMapping(value = "/queryIdsBycodeAndSite")
+ public R<List<Integer>> queryIdsBycodeAndSite(@RequestParam("cityList") List<String> cityList,@RequestParam("siteIds")List<String> siteIds) {
+ List<Integer> collect = orderService.lambdaQuery().eq(BaseEntity::getIsDelete,0).in(!siteIds.isEmpty(),Order::getSiteId,siteIds).in(Order::getCityCode, cityList).list().stream().map(Order::getUserId).collect(Collectors.toList());
+ return R.ok(collect);
+ }
+
/**
* 更改订单信息
@@ -252,6 +314,8 @@
order.setServerPhone(phone);
orderService.updateById(order);
}
+// List<ChangeDispatch> list = changeDispatchService.lambdaQuery().eq(ChangeDispatch::getOrderId, orderId).list();
+// changeDispatchService.removeBatchByIds(list);
return R.ok(order);
}
@@ -291,6 +355,7 @@
order.setTime(orderRequest.getTime());
order.setAcceptTime(orderRequest.getAcceptTime());
+// order.setAcceptTime(new Date());
// 师傅信息
order.setServerId(orderRequest.getServerId());
order.setServerName(orderRequest.getServerName());
@@ -310,6 +375,8 @@
order.setIsEvaluate(Constants.ZERO);
order.setCityCode(orderRequest.getCityCode());
order.setOrderMoney(orderRequest.getOrderMoney());
+ order.setProvinceCode(orderRequest.getProvinceCode());
+ order.setAreaCode(orderRequest.getAreaCode());
return R.ok(orderService.save(order));
}
@@ -325,7 +392,7 @@
Order order = orderService.getById(orderRequest.getOrderId());
- if (order.getState()!=6) {
+// if (order.getState()!=6) {
if ((!Objects.equals(order.getServerId(), orderRequest.getServerId())) || (!Objects.equals(order.getTime(), orderRequest.getTime()))) {
order.setState(1);
order.setArriveTime(null);
@@ -334,8 +401,12 @@
.eq(Order::getId, order.getId()
).set(Order::getArriveTime, null).update();
+ //删除改派管理的订单
+// List<ChangeDispatch> list = changeDispatchService.lambdaQuery().eq(ChangeDispatch::getOrderId, order.getId()).list();
+// changeDispatchService.removeBatchByIds(list);
+
}
- }
+// }
order.setId(orderRequest.getOrderId());
order.setCity(orderRequest.getCity());
@@ -376,7 +447,25 @@
if (order.getSubsidy()!=null){
order.setOrderMoney(order.getServePrice().add(order.getSubsidy()));
}
+ order.setProvinceCode(orderRequest.getProvinceCode());
+ order.setAreaCode(orderRequest.getAreaCode());
return R.ok(orderService.updateById(order));
+ }
+
+ /**
+ * 批量修改订单时间
+ * @param ids 站点多条id拼接
+ */
+ @ApiOperation(value = "订单列表-批量修改订单时间", tags = {"后台-订单管理[2.0]"})
+ @GetMapping(value = "/batchUpdateTime")
+ public R<Boolean> batchUpdateTime(@RequestParam("ids") String ids, @RequestParam("time") String time) {
+ List<String> idList = Arrays.stream(ids.split(",")).collect(Collectors.toList());
+ List<Order> list = orderService.lambdaQuery().in(Order::getId, idList).list();
+ if (!CollectionUtils.isEmpty(list)) {
+ list.forEach(data -> data.setTime(time));
+ orderService.updateBatchById(list);
+ }
+ return R.ok();
}
@@ -394,6 +483,12 @@
List<String> idList = Arrays.stream(ids.split(",")).collect(Collectors.toList());
List<Order> list = orderService.lambdaQuery().in(Order::getId, idList).list();
list.forEach(data -> data.setIsDelete(1));
+
+ List<ChangeDispatch> list1 = changeDispatchService.lambdaQuery().in(ChangeDispatch::getOrderId, idList).list();
+ if (!list1.isEmpty()) {
+ list1.forEach(data -> data.setIsDelete(1));
+ changeDispatchService.updateBatchById(list1);
+ }
return R.ok(orderService.updateBatchById(list));
}
@@ -423,7 +518,7 @@
})
public R<Page<OrderCountVO>> orderCount(@RequestBody OrderCountDataRequest request) {
return R.ok(orderService.orderCount(request.getWorkerName(), request.getWorkerPhone(), request.getCityList(),
- Page.of(request.getPageNum(), request.getPageSize())));
+ Page.of(request.getPageNum(), request.getPageSize()),request.getSiteIds()));
}
/**
@@ -439,6 +534,14 @@
return R.ok(!list.isEmpty());
}
+ @GetMapping(value = "/updateArrivalTime")
+ public R<Boolean> updateArrivalTime(@RequestParam("orderId")String orderId,@RequestParam("arriveTime")String arriveTime) {
+ Order byId = orderService.getById(orderId);
+ byId.setTime(arriveTime);
+ orderService.updateById(byId);
+ return R.ok();
+ }
+
/**
* 回收订单统计
*
@@ -450,6 +553,33 @@
return R.ok(orderService.orderCountHome(orderCount));
}
+ //获取师傅当天的订单
+ @PostMapping(value = "/workday")
+ public R<List<Order>> workday(@RequestBody Integer workId) {
+ // 获取当前日期
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+
+ // 使用 format 方法将 LocalDate 对象转换为字符串
+ String formattedToday = LocalDate.now().format(formatter);
+
+ System.out.println(formattedToday); // 输出:2023-09-12(假设今天是2023年9月12日)
+
+
+// 构建 Lambda 查询条件
+ LambdaQueryWrapper<Order> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper
+ .eq(Order::getTime, formattedToday) // 当天开始时间
+ ; // 当天结束时间
+
+// 执行查询
+ List<Order> orders = orderService.list(queryWrapper.eq(Order::getServerId,workId));
+
+// 处理查询结果
+ for (Order order : orders) {
+ System.out.println(order);
+ }
+ return R.ok(orders);
+ }
/**
* 用户所关联订单记录分页列表
*
@@ -476,9 +606,12 @@
@GetMapping(value = "/orderList1")
public R<Page<Order>> orderList1(@RequestParam("userId") Integer userId, @RequestParam("cityList") List<String> cityList,
@RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
- @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
+ @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+ @RequestParam("siteIds") List<String> siteIds
+ ) {
Page<Order> page = orderService.lambdaQuery().eq(Order::getUserId, userId)
- .eq(Order::getIsDelete, 0).in(!cityList.isEmpty(),Order::getCityCode, cityList).page(Page.of(pageNum, pageSize));
+ .eq(Order::getIsDelete, 0)
+ .in(!cityList.isEmpty(),Order::getCityCode, cityList).page(Page.of(pageNum, pageSize));
return R.ok(page);
}
@@ -490,9 +623,9 @@
})
public R<Page<Order>> workOrderList(@RequestParam("workId") Integer workId,
@RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
- @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
+ @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,@RequestParam("siteIds") String [] siteIds) {
Page<Order> page = orderService.lambdaQuery().eq(Order::getServerId, workId)
- .eq(Order::getIsDelete, 0).page(Page.of(pageNum, pageSize));
+ .in(siteIds.length>0,Order::getSiteId, siteIds).eq(Order::getIsDelete, 0).page(Page.of(pageNum, pageSize));
return R.ok(page);
}
@@ -517,10 +650,10 @@
*/
@ApiOperation(value = "师傅端-订单列表", tags = {"师傅端"})
@GetMapping(value = "/orderListWorker")
- public R<Page<Order>> orderListWorker(@RequestParam("userId") Integer userId, @RequestParam("state") Integer state,
+ public R<Page<Order>> orderListWorker(@RequestParam("userId") Integer userId, @RequestParam("state") Integer state,@RequestParam("searchValues") String searchValues,
@RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
- return R.ok(orderService.orderListWorker(userId, state, pageNum, pageSize));
+ return R.ok(orderService.orderListWorker(userId, state, searchValues,pageNum, pageSize));
}
/**
@@ -621,11 +754,16 @@
}
order.setCompleteTime(new Date());
order.setState(Constants.THREE);
+ order.setFake(orderSubmitRequest.getFake());
+ order.setRemark(orderSubmitRequest.getRemark());
boolean update = orderService.updateById(order);
// 服务记录
ServeRecord serveRecord = new ServeRecord();
serveRecord.setOrderId(order.getId());
serveRecord.setPhoto(String.join(",", orderSubmitRequest.getPhoto()));
+ serveRecord.setPaperPic(orderSubmitRequest.getPaperPic());
+ serveRecord.setCardPic(orderSubmitRequest.getCardPic());
+ serveRecord.setMachinePic(orderSubmitRequest.getMachinePic());
boolean save = serveRecordService.save(serveRecord);
return R.ok(update && save);
}
@@ -671,13 +809,20 @@
QueryWrapper<Order> wrapper = new QueryWrapper<>();
wrapper.eq("server_id", workerId)
- .in("state", 1, 2)
+ .in("state", 1, 2,7)
.eq("is_delete", Constants.ZERO)
.eq("DATE(time)", todayStr) // 添加这一行来筛选当天的订单
.orderByAsc("CASE WHEN topSort IS NULL THEN 1 ELSE 0 END")
.orderByAsc("topSort");
- return R.ok(orderService.list(wrapper));
+ List<Order> list = orderService.list(wrapper);
+ for (Order order : list) {
+ if (order.getAcceptTime()==null){
+ order.setAcceptTime(order.getCreateTime());
+ }
+ }
+
+ return R.ok(list);
}
@@ -738,4 +883,46 @@
return R.ok(orderService.placeOrder(userOrderRequest));
}
+ /**
+ * 师傅端-打电话
+ */
+ @ApiOperation(value = "打电话", tags = {"师傅端-打电话[2.0]"})
+ @GetMapping(value = "/call")
+ public R<String> call(@RequestParam("orderId") String orderId) {
+ Order order = orderService.getById(orderId);
+ if(Objects.isNull(order)){
+ return R.fail("订单不存在");
+ }
+ if(order.getState() == 7){
+ order.setState(1);
+ orderService.updateById(order);
+ }
+ return R.ok();
+ }
+ /**
+ * 领取补贴金
+ */
+ @GetMapping(value = "/receiving")
+ public R<String> receiving(@RequestParam("orderId")String orderId, @RequestParam("recycleSubsidy")BigDecimal recycleSubsidy) {
+ Order order = orderService.getById(orderId);
+ if(Objects.isNull(order)){
+ return R.fail("订单不存在");
+ }
+ order.setSubsidy(recycleSubsidy);
+ order.setOrderMoney(order.getOrderMoney().add(recycleSubsidy));
+ orderService.updateById(order);
+ return R.ok();
+ }
+
+ /**
+ * 领取补贴金
+ */
+ @GetMapping(value = "/getTodayOrderData")
+ public R<List<Order>> getTodayOrderData() {
+ List<Order> orders = orderService.list(Wrappers.lambdaQuery(Order.class)
+ .eq(Order::getTime, LocalDate.now())
+ .eq(Order::getIsDelete, 0));
+ return R.ok(orders);
+ }
+
}
--
Gitblit v1.7.1