From 03c6572c7918beaa20365e69c9694a11f0d9948a Mon Sep 17 00:00:00 2001 From: hjl <1657978663@qq.com> Date: 星期一, 01 七月 2024 10:13:26 +0800 Subject: [PATCH] feat: 代码初始化 --- ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java | 86 ++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 84 insertions(+), 2 deletions(-) diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java index d24ece6..4302bd6 100644 --- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java +++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java @@ -3,14 +3,19 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.admin.entity.MasterWorker; import com.ruoyi.admin.entity.Order; import com.ruoyi.admin.request.OrderQueryRequest; +import com.ruoyi.admin.service.MasterWorkerService; import com.ruoyi.admin.service.OrderService; +import com.ruoyi.admin.sorcket.WebSocketServer; import com.ruoyi.admin.vo.OrderCountVO; import com.ruoyi.admin.vo.OrderDetailVO; +import com.ruoyi.admin.vo.OrderPageCountVO; import com.ruoyi.common.core.constant.Constants; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.SnowflakeIdWorker; +import com.ruoyi.common.core.utils.bean.BeanUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -19,7 +24,9 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.util.Arrays; +import java.util.Date; import java.util.List; import java.util.stream.Collectors; @@ -38,10 +45,26 @@ @Resource private OrderService orderService; + @Resource + private MasterWorkerService masterWorkerService; /** * 雪花算法类 */ private static final SnowflakeIdWorker SNOW_FLAKE_ID_WORKER = new SnowflakeIdWorker(5, 5); + + /** + * socket测试 + */ + @ApiOperation(value = "socket测试", tags = {"后台-订单管理"}) + @GetMapping(value = "/socketTest") + public R<String> socketTest(@RequestParam String msg, @RequestParam String id) { + try { + WebSocketServer.sendInfo(msg, id); + return R.ok("消息推送成功!"); + } catch (IOException e) { + return R.fail(); + } + } /** * 根据前台用户id查询所有订单信息 @@ -85,6 +108,17 @@ } /** + * 订单列表 + * + * @param orderQueryRequest 订单列表查询参数 + */ + @ApiOperation(value = "订单列表-各订单数量统计", tags = {"后台-订单管理"}) + @PostMapping(value = "/orderPageCount") + public R<OrderPageCountVO> orderPageCount(@RequestBody OrderQueryRequest orderQueryRequest) { + return R.ok(orderService.orderPageCount(orderQueryRequest)); + } + + /** * 站点详情 * * @param id 站点id @@ -110,6 +144,54 @@ order.setType(Constants.ONE); order.setOrderNumber(String.valueOf(SNOW_FLAKE_ID_WORKER.nextId())); return orderService.save(order) ? R.ok() : R.fail(); + } + + /** + * 新增订单 + * 后台订单与用户端及师傅端无关联 + * + * @param type 1:订单派单;2:订单改派 + */ + @ApiOperation(value = "订单列表-订单派单/改派", tags = {"后台-订单管理"}) + @GetMapping(value = "/reassignment") + @ApiImplicitParams({ + @ApiImplicitParam(value = "操作类型(1:订单派单;2:订单改派)", name = "type", dataType = "Integer", required = true), + @ApiImplicitParam(value = "订单id", name = "orderId", dataType = "Integer", required = true), + @ApiImplicitParam(value = "服务人员id", name = "workerId", dataType = "Integer", required = true) + }) + public R<String> reassignment(@RequestParam Integer type, @RequestParam Integer orderId, + @RequestParam Integer workerId) { + Order order = orderService.lambdaQuery().eq(Order::getId, orderId).eq(Order::getIsDelete, 0).one(); + MasterWorker masterWorker = masterWorkerService.lambdaQuery() + .eq(MasterWorker::getId, workerId) + .eq(MasterWorker::getIsDelete, 0).one(); + // 订单派单 + boolean result = true; + if (Constants.ONE.equals(type)) { + order.setServerId(workerId); + order.setServerName(masterWorker.getRealName()); + order.setServerPhone(masterWorker.getPhone()); + order.setAcceptTime(new Date()); + result = orderService.updateById(order); + } else if (Constants.TWO.equals(type)) { + order.setState(Constants.FIVE); + orderService.updateById(order); + Order itemOrder = new Order(); + BeanUtils.copyProperties(order, itemOrder); + itemOrder.setId(null); + itemOrder.setServerId(workerId); + itemOrder.setServerName(masterWorker.getRealName()); + itemOrder.setServerPhone(masterWorker.getPhone()); + itemOrder.setAcceptTime(new Date()); + itemOrder.setState(Constants.ONE); + result = orderService.save(itemOrder); + } + try { + WebSocketServer.sendInfo("您有一条新的订单,请注意查收!", String.valueOf(workerId)); + } catch (IOException e) { + return R.fail("订单推送失败!"); + } + return result ? R.ok() : R.fail(); } /** @@ -151,8 +233,8 @@ @ApiImplicitParams({ @ApiImplicitParam(value = "师傅姓名", name = "name", dataType = "String"), @ApiImplicitParam(value = "师傅电话", name = "phone", dataType = "String"), - @ApiImplicitParam(value = "页码", name = "pageNum", dataType = "Integer",required = true), - @ApiImplicitParam(value = "每页条数", name = "pageSize", dataType = "Integer",required = true) + @ApiImplicitParam(value = "页码", name = "pageNum", dataType = "Integer", required = true), + @ApiImplicitParam(value = "每页条数", name = "pageSize", dataType = "Integer", required = true) }) public R<IPage<OrderCountVO>> orderCount(String name, String phone, @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum, -- Gitblit v1.7.1