diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java index 584458ce..572c258a 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java @@ -1,5 +1,9 @@ package com.ghy.web.controller.order; +import cn.hutool.db.sql.Order; +import com.alibaba.fastjson.JSONObject; +import com.ghy.common.adapay.model.AdapayStatusEnum; +import com.ghy.common.adapay.model.PayParam; import com.ghy.common.annotation.Log; import com.ghy.common.constant.UserConstants; import com.ghy.common.core.controller.BaseController; @@ -8,11 +12,11 @@ import com.ghy.common.core.domain.entity.SysUser; import com.ghy.common.core.page.PageDomain; import com.ghy.common.core.page.TableDataInfo; import com.ghy.common.core.page.TableSupport; -import com.ghy.common.enums.BusinessType; -import com.ghy.common.enums.ImgType; -import com.ghy.common.enums.OrderStatus; +import com.ghy.common.enums.*; import com.ghy.common.utils.ExceptionUtil; +import com.ghy.common.utils.MoneyUtil; import com.ghy.common.utils.StringUtils; +import com.ghy.common.utils.WechatMsgUtils; import com.ghy.common.utils.poi.ExcelUtil; import com.ghy.customer.domain.Customer; import com.ghy.customer.domain.CustomerAddress; @@ -31,6 +35,7 @@ import com.ghy.order.service.*; import com.ghy.payment.domain.FinancialChangeRecord; import com.ghy.payment.domain.FinancialDetail; import com.ghy.payment.domain.FinancialMaster; +import com.ghy.payment.domain.PaymentRelation; import com.ghy.payment.service.FinancialChangeRecordService; import com.ghy.payment.service.FinancialDetailService; import com.ghy.payment.service.FinancialMasterService; @@ -135,6 +140,53 @@ public class OrderMasterController extends BaseController { return "order/orderManager"; } + @GetMapping("/pcOrderWorker/{orderIds}") + public String addMasterQrPay(@PathVariable(value = "orderIds") String orderIds, ModelMap mmap) { + // 不知道为啥参数可能会带上双引号 这里去掉再转Long + orderIds = orderIds.replace("\"", ""); + List workList = workerService.getWorkList(new Worker()); + mmap.put("orderIds", orderIds); + mmap.put("workers", workList); + return "order/pcOrderWorker"; + } + + @PostMapping("/assign") + @ResponseBody + public AjaxResult assign(@RequestBody OrderMaster orderMaster){ + OrderMaster param = new OrderMaster(); + param.setOrderMasterIds(orderMaster.getOrderMasterIds()); + List masters = orderMasterService.selectOrderMasterList(param); + long count = masters.stream().filter(x->!x.getOrderStatus().equals(OrderStatus.RECEIVE.code())|| x.getWorkerId() != null).count(); + if(count > 0){ + return AjaxResult.error("请选择待接单且无师傅接单订单指派"); + } + masters.forEach(master->{ + OrderMaster updateEntity = new OrderMaster(); + updateEntity.setId(master.getId()); + updateEntity.setWorkerId(orderMaster.getWorkerId()); + orderMasterService.updateOrderMaster(updateEntity); + // 推送公众号通知数据。 + try { + Worker assignWorker = workerService.selectById(orderMaster.getWorkerId()); + // 消息组装。 + Map params = new HashMap<>(); + // 订单编号 + params.put("character_string6", master.getCode()); + // 名称 + params.put("thing14", "收到新订单"); + // 预约时间 + params.put("time4", com.ghy.common.utils.DateUtils.parseDateToStr("yyyy年MM月dd日 HH:mm", master.getExpectTimeStart())); + // 消息推送 + WechatMsgUtils.sendWeChatMsg(WechatMsgUtils.getToken(), assignWorker.getWxOpenId(), WxMsgEnum.TEXT, params); + } catch (Exception e) { + // 暂时不做任何操作。 + logger.error(e.getMessage(), e); + } + + }); + return AjaxResult.success(); + } + @GetMapping("/orderWorker/{orderId}") public String orderWorker(@PathVariable("orderId") Long orderId, ModelMap mmap) { List workList = workerService.getWorkList(new Worker()); diff --git a/ghy-admin/src/main/resources/templates/order/pc-master.html b/ghy-admin/src/main/resources/templates/order/pc-master.html index f06ccdf2..f32186e4 100644 --- a/ghy-admin/src/main/resources/templates/order/pc-master.html +++ b/ghy-admin/src/main/resources/templates/order/pc-master.html @@ -170,6 +170,9 @@ 付款 + + 指派 + @@ -612,6 +615,28 @@ showPayQrcode(rows.join()); } + function showOrderWorker() { + table.set(); + var rows = $.common.isEmpty(table.options.uniqueId) ? $.table.selectFirstColumns() : $.table.selectColumns(table.options.uniqueId); + if (rows.length === 0) { + $.modal.alertWarning("请至少选择一条记录"); + return; + } + var url = "pcOrderWorker/" + rows.join(","); + layer.open({ + type: 2, + area: ['800px', '450px'], + fix: false, + //不固定 + maxmin: true, + shade: 0.3, + title: '指派师傅', + content: url, + // 弹层外区域关闭 + shadeClose: true + }); + } + diff --git a/ghy-admin/src/main/resources/templates/order/pcOrderWorker.html b/ghy-admin/src/main/resources/templates/order/pcOrderWorker.html new file mode 100644 index 00000000..08bca70f --- /dev/null +++ b/ghy-admin/src/main/resources/templates/order/pcOrderWorker.html @@ -0,0 +1,222 @@ + + + + + + + + + + + +
+
+
+
+ +
+ + + + +
+
+
+ +
+ + + + +
+
+
+ + +
+ +
+
+ +
+
+
+
+ + + + + +