diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderCallRecordController.java b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderCallRecordController.java new file mode 100644 index 00000000..985bfab5 --- /dev/null +++ b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderCallRecordController.java @@ -0,0 +1,136 @@ +package com.ghy.web.controller.order; + +import java.util.List; +import com.ghy.order.domain.OrderCallRecord; +import com.ghy.order.service.IOrderCallRecordService; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.*; +import com.ghy.common.annotation.Log; +import com.ghy.common.enums.BusinessType; +import com.ghy.common.core.controller.BaseController; +import com.ghy.common.core.domain.AjaxResult; +import com.ghy.common.utils.poi.ExcelUtil; +import com.ghy.common.core.page.TableDataInfo; + +/** + * 订单约单记录Controller + * + * @author clunt + * @date 2023-06-04 + */ +@Controller +@RequestMapping("/order/record") +public class OrderCallRecordController extends BaseController +{ + private String prefix = "order/record"; + + @Autowired + private IOrderCallRecordService orderCallRecordService; + + @RequiresPermissions("worker:record:view") + @GetMapping() + public String record() + { + return prefix + "/record"; + } + + /** + * 查询订单约单记录列表 + */ + @RequiresPermissions("worker:record:list") + @PostMapping("/list") + @ResponseBody + public TableDataInfo list(OrderCallRecord orderCallRecord) + { + startPage(); + List list = orderCallRecordService.selectOrderCallRecordList(orderCallRecord); + return getDataTable(list); + } + + /** + * App查询订单约单记录列表 + */ + @PostMapping("/app/list") + @ResponseBody + public TableDataInfo appList(@RequestBody OrderCallRecord orderCallRecord) + { + startPage(); + List list = orderCallRecordService.selectOrderCallRecordList(orderCallRecord); + return getDataTable(list); + } + + + /** + * 导出订单约单记录列表 + */ + @RequiresPermissions("worker:record:export") + @Log(title = "订单约单记录", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ResponseBody + public AjaxResult export(OrderCallRecord orderCallRecord) + { + List list = orderCallRecordService.selectOrderCallRecordList(orderCallRecord); + ExcelUtil util = new ExcelUtil(OrderCallRecord.class); + return util.exportExcel(list, "订单约单记录数据"); + } + + /** + * 新增订单约单记录 + */ + @GetMapping("/add") + public String add() + { + return prefix + "/add"; + } + + /** + * 新增保存订单约单记录 + */ + @RequiresPermissions("worker:record:add") + @Log(title = "订单约单记录", businessType = BusinessType.INSERT) + @PostMapping("/add") + @ResponseBody + public AjaxResult addSave(OrderCallRecord orderCallRecord) + { + return toAjax(orderCallRecordService.insertOrderCallRecord(orderCallRecord)); + } + + /** + * 修改订单约单记录 + */ + @RequiresPermissions("worker:record:edit") + @GetMapping("/edit/{id}") + public String edit(@PathVariable("id") Long id, ModelMap mmap) + { + OrderCallRecord orderCallRecord = orderCallRecordService.selectOrderCallRecordById(id); + mmap.put("orderCallRecord", orderCallRecord); + return prefix + "/edit"; + } + + /** + * 修改保存订单约单记录 + */ + @RequiresPermissions("worker:record:edit") + @Log(title = "订单约单记录", businessType = BusinessType.UPDATE) + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave(OrderCallRecord orderCallRecord) + { + return toAjax(orderCallRecordService.updateOrderCallRecord(orderCallRecord)); + } + + /** + * 删除订单约单记录 + */ + @RequiresPermissions("worker:record:remove") + @Log(title = "订单约单记录", businessType = BusinessType.DELETE) + @PostMapping( "/remove") + @ResponseBody + public AjaxResult remove(String ids) + { + return toAjax(orderCallRecordService.deleteOrderCallRecordByIds(ids)); + } +} diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java index cbea3808..08c7c2ab 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderController.java @@ -225,6 +225,7 @@ public class OrderController extends BaseController { orderMaster.setCustomerId(customer.getCustomerId()); orderMaster.setGoodsId(goods.getGoodsId()); orderMaster.setPayType(0); + orderMaster.setOrderMode(request.getOrderMode()); // 服务时间 String[] split = request.getServTime().split("-"); try { @@ -296,7 +297,7 @@ public class OrderController extends BaseController { FinancialMaster fmUpdate = new FinancialMaster(); fmUpdate.setId(financialMaster.getId()); fmUpdate.setServerMoney(serverMoney); - financialMasterService.updateFinancialMaster(financialMaster); + financialMasterService.updateFinancialMaster(fmUpdate); } /** diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderDetailController.java b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderDetailController.java index 43895f2d..b8a176fe 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderDetailController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderDetailController.java @@ -112,6 +112,31 @@ public class OrderDetailController extends BaseController { @PostMapping("/list") @ResponseBody public TableDataInfo list(OrderDetail orderDetail) { + if (orderDetail.getSearchAfterList() !=null && orderDetail.getSearchAfterList()) { + return this.afterServiceList(orderDetail); + } + + if(StringUtils.isNotEmpty(orderDetail.getWorkerName()) || StringUtils.isNotEmpty(orderDetail.getWorkerPhone())){ + Worker param = new Worker(); + param.setName(orderDetail.getWorkerName()); + param.setPhone(orderDetail.getWorkerPhone()); + List workList = workerService.getWorkList(param); + List ids = workList.stream().map(Worker::getWorkerId).collect(Collectors.toList()); + orderDetail.setWorkerIds(ids); + if(CollectionUtils.isEmpty(ids)){ + return getDataTable(new ArrayList<>()); + } + } + if(orderDetail.getSysPayStatus() != null){ + FinancialMaster param = new FinancialMaster(); + param.setPayStatus(orderDetail.getSysPayStatus()); + List financialMasters = financialMasterService.selectFinancialMasterList(param); + List masterIds = financialMasters.stream().map(FinancialMaster::getOrderMasterId).collect(Collectors.toList()); + orderDetail.setMasterIds(masterIds); + if(CollectionUtils.isEmpty(masterIds)){ + return getDataTable(new ArrayList<>()); + } + } startPage(); if (this.getSysUser().getDept().getParentId() != 101) { orderDetail.setDeptId(this.getSysUser().getDept().getParentId()); @@ -578,6 +603,7 @@ public class OrderDetailController extends BaseController { orderListResponse.setOrderDetailCode(detail.getCode()); orderListResponse.setOrderMasterId(detail.getOrderMasterId()); orderListResponse.setOrderMasterCode(detail.getOrderMasterCode()); + orderListResponse.setGoods(goods); orderListResponse.setGoodsName(goods.getGoodsName()); orderListResponse.setGoodsLogoUrl(goods.getGoodsImgUrl()); orderListResponse.setDiscountMoney(financialDetail.getDiscountMoney()); @@ -650,6 +676,14 @@ public class OrderDetailController extends BaseController { return "/order/pay-qrcode"; } + @GetMapping("/orderWorker/{orderId}") + public String orderWorker(@PathVariable("orderId") Long orderId, ModelMap mmap) { + List workList = workerService.getWorkList(new Worker()); + mmap.put("orderId", orderId); + mmap.put("workers", workList); + return "order/orderWorker"; + } + /** * 修改保存详细订单 */ @@ -966,4 +1000,57 @@ public class OrderDetailController extends BaseController { int i = orderDetailService.insertOrderAddSubtract(body); return AjaxResult.success(i); } + + @GetMapping("/differentStatus/count") + @ResponseBody + public AjaxResult differentStatusOrderCount(OrderDetail orderDetail) { + return AjaxResult.success(orderDetailService.differentStatusOrderCount(orderDetail)); + } + + @GetMapping("/count") + @ResponseBody + public AjaxResult OrderDetailCount(OrderDetail orderDetail) { + if(StringUtils.isNotEmpty(orderDetail.getWorkerName()) || StringUtils.isNotEmpty(orderDetail.getWorkerPhone())){ + Worker param = new Worker(); + param.setName(orderDetail.getWorkerName()); + param.setPhone(orderDetail.getWorkerPhone()); + List workList = workerService.getWorkList(param); + List ids = workList.stream().map(Worker::getWorkerId).collect(Collectors.toList()); + orderDetail.setWorkerIds(ids); + if(CollectionUtils.isEmpty(ids)){ + return AjaxResult.success(0); + } + } + if(orderDetail.getSysPayStatus() != null){ + FinancialMaster param = new FinancialMaster(); + param.setPayStatus(orderDetail.getSysPayStatus()); + List financialMasters = financialMasterService.selectFinancialMasterList(param); + List masterIds = financialMasters.stream().map(FinancialMaster::getOrderMasterId).collect(Collectors.toList()); + orderDetail.setMasterIds(masterIds); + if(CollectionUtils.isEmpty(masterIds)){ + return AjaxResult.success(0); + } + } + if (this.getSysUser().getDept().getParentId() != 101) { + orderDetail.setDeptId(this.getSysUser().getDept().getParentId()); + } + return AjaxResult.success(orderDetailService.countOrderDetailList(orderDetail)); + } + + @GetMapping("/after/count") + @ResponseBody + public AjaxResult AfterDetailOrderCount(OrderDetail orderDetail) { + AfterServiceRecord afterServiceRecord = new AfterServiceRecord(); + afterServiceRecord.setExcludeAfterServiceFinished(Boolean.TRUE); + List afterServiceRecordList = afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord); + // 踢重后的子单ids + List detailIds = afterServiceRecordList.stream().map(AfterServiceRecord::getOrderDetailId).distinct().collect(Collectors.toList()); + String ids = StringUtils.join(detailIds, ","); + if (StringUtils.isNotEmpty(ids)) { + orderDetail.setOrderDetailIds(ids); + } else { + orderDetail.setOrderDetailIds("0"); + } + return AjaxResult.success(orderDetailService.countOrderDetailList(orderDetail)); + } } 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 f1b6ff73..0c87980a 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 @@ -24,14 +24,8 @@ import com.ghy.goods.service.GoodsAreaService; import com.ghy.goods.service.GoodsImgsService; import com.ghy.goods.service.GoodsService; import com.ghy.goods.service.GoodsStandardService; -import com.ghy.order.domain.AfterServiceRecord; -import com.ghy.order.domain.OrderDetail; -import com.ghy.order.domain.OrderGoods; -import com.ghy.order.domain.OrderMaster; -import com.ghy.order.service.IAfterServiceRecordService; -import com.ghy.order.service.OrderDetailService; -import com.ghy.order.service.OrderGoodsService; -import com.ghy.order.service.OrderMasterService; +import com.ghy.order.domain.*; +import com.ghy.order.service.*; import com.ghy.payment.domain.FinancialChangeRecord; import com.ghy.payment.domain.FinancialDetail; import com.ghy.payment.domain.FinancialMaster; @@ -110,6 +104,8 @@ public class OrderMasterController extends BaseController { private IAfterServiceRecordService afterServiceRecordService; @Resource private FinancialChangeRecordService financialChangeRecordService; + @Autowired + private IOrderCallRecordService orderCallRecordService; @RequiresPermissions("order:master:view") @GetMapping() @@ -123,7 +119,7 @@ public class OrderMasterController extends BaseController { @GetMapping("/payQrcode/{orderId}") public String payQrcode(@PathVariable("orderId") String orderId, ModelMap mmap) { mmap.put("orderId", orderId); - return "/order/master-qrcode"; + return "order/master-qrcode"; } @GetMapping("/pc") @@ -131,6 +127,25 @@ public class OrderMasterController extends BaseController { return "order/pc-master"; } + @GetMapping("/manager") + public String orderManager() { + return "order/orderManager"; + } + + @GetMapping("/orderWorker/{orderId}") + public String orderWorker(@PathVariable("orderId") Long orderId, ModelMap mmap) { + List workList = workerService.getWorkList(new Worker()); + mmap.put("orderId", orderId); + mmap.put("workers", workList); + return "order/orderWorker"; + } + + @GetMapping("/assignWholeOrder/{orderId}") + public String assignWholeOrder(@PathVariable("orderId") Long orderId, ModelMap mmap) { + mmap.put("orderId", orderId); + return "order/assignWholeOrder"; + } + @PostMapping("/app/list") @ResponseBody public TableDataInfo appList(@RequestBody OrderMaster orderMaster) { @@ -222,6 +237,7 @@ public class OrderMasterController extends BaseController { orderListResponse.setTimeout(master.getTimeout()); orderListResponse.setTimeoutFineTimes(master.getTimeoutFineTimes()); orderListResponse.setAfterServiceRecordList(afterServiceRecords); + orderListResponse.setServerMoney(master.getServerMoney()); orderListResponses.add(orderListResponse); }); @@ -595,6 +611,7 @@ public class OrderMasterController extends BaseController { orderListResponse.setTimeoutFineTimes(orderMaster.getTimeoutFineTimes()); orderListResponse.setFinalRecvMoney(finalRecvMoney); orderListResponse.setGoodsAreaList(goods.getGoodsAreaList()); + orderListResponse.setOrderMode(orderMaster.getOrderMode()); return AjaxResult.success(orderListResponse); } catch (Exception e) { @@ -726,6 +743,25 @@ public class OrderMasterController extends BaseController { } } + @PostMapping("/callCustomer") + @ResponseBody + public AjaxResult callCustomer(@RequestBody OrderMaster orderMaster) { + try { + int i = orderMasterService.updateOrderMaster(orderMaster); + if(i > 0){ + OrderCallRecord param = new OrderCallRecord(); + param.setOrderId(orderMaster.getId()); + param.setCallTime(new Date()); + param.setOrderType("01"); + orderCallRecordService.insertOrderCallRecord(param); + } + return AjaxResult.success(); + } catch (Exception e) { + e.printStackTrace(); + return AjaxResult.error(); + } + } + /** * 校验主订单编码 */ @@ -858,4 +894,16 @@ public class OrderMasterController extends BaseController { int i = orderMasterService.reject(orderMaster); return AjaxResult.success(i); } + + @GetMapping("/differentStatus/count") + @ResponseBody + public AjaxResult differentStatusOrderCount() { + return AjaxResult.success(orderMasterService.differentStatusOrderCount()); + } + + @GetMapping("/count") + @ResponseBody + public AjaxResult OrderMasterCount(OrderMaster orderMaster) { + return AjaxResult.success(orderMasterService.countOrderMasterList(orderMaster)); + } } diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/worker/WorkerController.java b/ghy-admin/src/main/java/com/ghy/web/controller/worker/WorkerController.java index b86a3809..f5f51ddd 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/worker/WorkerController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/worker/WorkerController.java @@ -24,6 +24,7 @@ import com.ghy.worker.domain.WorkerArea; import com.ghy.worker.domain.WorkerBank; import com.ghy.worker.domain.WorkerGoodsCategory; import com.ghy.worker.service.*; +import com.github.pagehelper.PageInfo; import org.apache.commons.collections.CollectionUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.util.Assert; @@ -81,7 +82,7 @@ public class WorkerController extends BaseController { public AjaxResult login(@RequestBody Worker worker){ try { Assert.notNull(worker.getPhone(), "手机号码为空"); - List workerList = workerService.getWorkList(worker); + List workerList = workerService.getWorkByPhoneAndPwd(worker); if(workerList.size() > 0){ return AjaxResult.success(workerList.get(0)); }else { @@ -154,6 +155,7 @@ public class WorkerController extends BaseController { worker.setDeptId(this.getSysUser().getDept().getParentId()); } List list = workerService.getWorkList(worker); + TableDataInfo dataTable = getDataTable(list); list.forEach(w -> { Goods goods = new Goods(); goods.setWorkerId(w.getWorkerId()); @@ -164,13 +166,18 @@ public class WorkerController extends BaseController { workerListResponse.setGoodsCategories(workerGoodsCategoryService.getByWorker(w.getWorkerId())); workerListResponse.setSpecialSkills(specialSkillService.getByWorker(w.getWorkerId())); resList.add(workerListResponse); + }); + TableDataInfo rspData = new TableDataInfo(); + rspData.setCode(0); + rspData.setRows(resList); + rspData.setTotal(dataTable.getTotal()); + return rspData; } catch (Exception e) { e.printStackTrace(); logger.error(ExceptionUtil.getExceptionMessage(e)); + return getDataTable(new ArrayList<>()); } - - return getDataTable(resList); } @PostMapping("/app/list") diff --git a/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderListResponse.java b/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderListResponse.java index 29843eed..2b13db58 100644 --- a/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderListResponse.java +++ b/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderListResponse.java @@ -2,6 +2,7 @@ package com.ghy.web.pojo.vo; import com.alibaba.fastjson.annotation.JSONField; import com.fasterxml.jackson.annotation.JsonFormat; +import com.ghy.goods.domain.Goods; import com.ghy.goods.domain.GoodsArea; import com.ghy.order.domain.AfterServiceRecord; import com.ghy.payment.domain.FinancialChangeRecord; @@ -147,4 +148,8 @@ public class OrderListResponse { * 超时扣款次数 */ private Integer timeoutFineTimes; + + private String orderMode; + + private Goods goods; } diff --git a/ghy-admin/src/main/resources/templates/goods/standard/addTemplate.html b/ghy-admin/src/main/resources/templates/goods/standard/addTemplate.html index eaac00a4..41467a06 100644 --- a/ghy-admin/src/main/resources/templates/goods/standard/addTemplate.html +++ b/ghy-admin/src/main/resources/templates/goods/standard/addTemplate.html @@ -2,6 +2,8 @@ + + + + + +
+
+
+
+
+
+
+ 派单金额: + + +
+ + + + + + +
+
+
+ +
+
+
+ +
+ + + + +
+
+
+ +
+ + + + +
+
+
+ + +
+ +
+
+ +
+
+
+
+ + + + + + diff --git a/ghy-admin/src/main/resources/templates/order/master.html b/ghy-admin/src/main/resources/templates/order/master.html index a010cbb0..c5f19b32 100644 --- a/ghy-admin/src/main/resources/templates/order/master.html +++ b/ghy-admin/src/main/resources/templates/order/master.html @@ -50,6 +50,12 @@ .long-input { width: 400px; } + + .active-condition-btn { + background-color: #1c84c6; + border-color: #1c84c6; + color: #fff; + } @@ -62,55 +68,62 @@ - -
- - -
+ + + +
- +
- +
- +
- -
-
- - - +
+ + + + + + + + +
+
- @@ -301,6 +328,7 @@ var editFlag = [[${@permission.hasPermi('order:order:edit')}]]; var prefix = ctx + "order/detail"; + var customParams = {}; $(function () { var panehHidden = false; @@ -364,6 +392,110 @@ }) changeOrderMode(); + + + $.ajax({ + type: "GET", + dataType:"json", + url: prefix + '/differentStatus/count', + success: function (result) { + if (result.code == web_status.SUCCESS) { + $('#newOrderNum').text(result.data.newOrderNum); + $('#acceptedOrderNum').text(result.data.acceptedOrderNum); + $('#canceledOrderNum').text(result.data.canceledOrderNum); + $('.confirmingOrderNum').text(result.data.confirmingOrderNum); + $('#finishedOrderNum').text(result.data.finishedOrderNum); + $('#servingOrderNum').text(result.data.servingOrderNum); + $('#waitForDoorOrderNum').text(result.data.waitForDoorOrderNum); + } else { + $.modal.msgError("数据加载错误,请重试!") + } + } + }) + + + $.ajax({ + type: "GET", + dataType:"json", + url: prefix + '/differentStatus/count', + data: {timeout: 1}, + success: function (result) { + if (result.code == web_status.SUCCESS) { + $('#newTimeoutOrderNum').text(result.data.newOrderNum); + $('.acceptedTimeoutOrderNum').text(result.data.acceptedOrderNum); + $('#servingTimeoutOrderNum').text(result.data.servingOrderNum); + $('#waitForDoorTimeoutOrderNum').text(result.data.waitForDoorOrderNum); + } else { + $.modal.msgError("数据加载错误,请重试!") + } + } + }) + + + $.ajax({ + type: "GET", + dataType:"json", + url: prefix + '/count', + data: {sysPayStatus: 0}, + success: function (result) { + if (result.code == web_status.SUCCESS) { + $('#nonPaidOrderNum').text(result.data); + } else { + $.modal.msgError("数据加载错误,请重试!") + } + } + }) + + + var date = new Date(); + $.ajax({ + type: "GET", + dataType:"json", + url: prefix + '/count', + data: { + orderStatus: 2, + expectTimeStart: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate() + " 00:00:00", + expectTimeEnd: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate() + " 23:59:59" + }, + success: function (result) { + if (result.code == web_status.SUCCESS) { + $('#todayOrderNum').text(result.data); + } else { + $.modal.msgError("数据加载错误,请重试!") + } + } + }) + $.ajax({ + type: "GET", + dataType:"json", + url: prefix + '/count', + data: { + orderStatus: 2, + expectTimeStart: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + (date.getDate() + 1) + " 00:00:00", + expectTimeEnd: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + (date.getDate() + 1) + " 23:59:59" + }, + success: function (result) { + if (result.code == web_status.SUCCESS) { + $('#tomorrowOrderNum').text(result.data); + } else { + $.modal.msgError("数据加载错误,请重试!") + } + } + }) + + + $.ajax({ + type: "GET", + dataType:"json", + url: prefix + '/after/count', + success: function (result) { + if (result.code == web_status.SUCCESS) { + $('#afterServiceOrderNum').text(result.data); + } else { + $.modal.msgError("数据加载错误,请重试!") + } + } + }) }); function changeOrderMode(orderMode) { @@ -379,6 +511,11 @@ } } + function showOrderWorker(id) { + var url = "order/detail/orderWorker/" + id; + $.modal.open("指派师傅", url, '800', '300'); + } + function selectRegion(regionLevelName, nextRegionLevelName) { var regionId = $("#" + regionLevelName).val(); if ($.common.isEmpty(regionId)) { @@ -410,6 +547,7 @@ var options = { url: prefix + "/list", exportUrl: prefix + "/export", + queryParams: queryParams, sortName: "createTime", sortOrder: "desc", modalName: "订单", @@ -432,9 +570,9 @@ + ' 订单编号:' + row.code + '
' + '

' + value.goodsName + '

' // + ' ' + value.goodsDesc + '
' - + ' 联系人:' + row.addressName + '
' - + ' 联系电话:' + row.addressPhone + '
' - + ' 联系地址:' + row.address + '
' + + '' + row.addressName + '
' + + '' + row.addressPhone + '
' + + '' + row.address + '
' + ' 下单时间:' + row.createTime + '
' + ' 预约时间:' + row.expectTimeStart + ' - ' + row.expectTimeEnd + '
' + ' 总金额:' + row.financialMasterMoney + '元 应得金额:' + row.financialDetailMoney + '元
' @@ -454,8 +592,10 @@ field: 'worker', title: '接单信息', formatter: function (value, row, index) { - - + if(value){ + return '' + value.name + value.phone + '
' + + '接单时间:' + value.createTime + ''; + } } }, { @@ -466,6 +606,7 @@ actions.push('查看 '); actions.push('
师傅退单 '); actions.push('
商家退单 '); + if (row.payStatus == 0) { actions.push('付款 '); } @@ -476,8 +617,10 @@ field: 'goodsWorker', title: '商家信息', formatter: function (value, row, index) { - - + if(value){ + return '' + value.name + '
' + + '' + value.phone + ''; + } } }, { @@ -516,6 +659,12 @@ $.table.init(options); } + function queryParams(params) { + var search = $.table.queryParams(params); + Object.assign(search, customParams) + return search; + } + function detail(id) { var url = "order/goods?orderId=" + id; $.modal.open("商品信息", url); @@ -535,8 +684,66 @@ }); } - function searchByOrderStatus(orderStatus) { - $('#orderStatus').val(orderStatus); + function changeConditionBtnChosenStyle(e) { + $('.condition-btn .btn').removeClass('active-condition-btn'); + if (e) { + $(e).addClass('active-condition-btn'); + } + } + + function selectConditionBtn(e, params = {}) { + changeConditionBtnChosenStyle(e); + searchOrderList(params) + } + + function selectOnDoorOrderToday(e) { + changeConditionBtnChosenStyle(e); + var date = new Date(); + selectConditionBtn(e, { + orderStatus: 2, + expectTimeStart: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate() + " 00:00:00", + expectTimeEnd: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate() + " 23:59:59" + }) + } + + function selectOnDoorOrderTomorrow(e) { + changeConditionBtnChosenStyle(e); + var date = new Date(); + selectConditionBtn(e, { + orderStatus: 2, + expectTimeStart: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + (date.getDate() + 1) + " 00:00:00", + expectTimeEnd: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + (date.getDate() + 1) + " 23:59:59" + }) + } + + function searchOrderList(params) { + customParams = params; + $.table.search(); + } + + function searchByForm() { + let params = { + createTimeStart: $('#createTimeStart').val() ? $('#createTimeStart').val() + " 00:00:00" : undefined, + createTimeEnd: $('#createTimeEnd').val() ? $('#createTimeEnd').val() + " 23:59:59" : undefined, + workBeginTimeStart: $('#workBeginTimeStart').val(), + workBeginTimeEnd: $('#workBeginTimeEnd').val() ? $('#workBeginTimeEnd').val() + " 23:59:59" : undefined, + workFinishTimeStart: $('#workFinishTimeStart').val(), + workFinishTimeEnd: $('#workFinishTimeEnd').val() ? $('#workFinishTimeEnd').val() + " 23:59:59" : undefined, + storeName: $('#storeName').val(), + storePhone: $('#storePhone').val(), + workerName: $('#workerName').val(), + workerPhone: $('#workerPhone').val(), + keyWords: $('#keyWords').val() + } + + customParams = Object.assign(customParams, params); + $.table.search(); + } + + function resetForm() { + $.form.reset(); + customParams = {}; + changeConditionBtnChosenStyle(); $.table.search(); } diff --git a/ghy-admin/src/main/resources/templates/order/orderManager.html b/ghy-admin/src/main/resources/templates/order/orderManager.html new file mode 100644 index 00000000..a47a366d --- /dev/null +++ b/ghy-admin/src/main/resources/templates/order/orderManager.html @@ -0,0 +1,640 @@ + + + + + + + + + + + + +
+ +
+ + + + + + + + + + diff --git a/ghy-admin/src/main/resources/templates/order/orderWorker.html b/ghy-admin/src/main/resources/templates/order/orderWorker.html new file mode 100644 index 00000000..11c69802 --- /dev/null +++ b/ghy-admin/src/main/resources/templates/order/orderWorker.html @@ -0,0 +1,304 @@ + + + + + + + + + + + +
+
+
+
+
+
+
+ 可派单金额: + + +
+
+
+ + +
+
+
+
+
+ +
+
+
+ +
+ + + + +
+
+
+ +
+ + + + +
+
+
+ + +
+ +
+
+ +
+
+
+
+ + + + + + 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 d72168e5..3154d5ed 100644 --- a/ghy-admin/src/main/resources/templates/order/pc-master.html +++ b/ghy-admin/src/main/resources/templates/order/pc-master.html @@ -50,6 +50,12 @@ .long-input { width: 400px; } + + .active-condition-btn { + background-color: #1c84c6; + border-color: #1c84c6; + color: #fff; + } @@ -61,56 +67,64 @@
- - -
- 创建时间: -
- - -
- 至 -
- - -
-
-
- 服务时间: -
- - -
- 至 -
- - -
-
-
- 完成时间: -
- - -
- 至 -
- - -
-
类别筛选:
@@ -168,61 +146,6 @@
-
- - -
-
- - -
-
- - -
-
- - -
-
- - -
-
- - - -
-
- - - - -
-
- - -
@@ -230,45 +153,10 @@
- @@ -305,6 +193,7 @@ var editFlag = [[${@permission.hasPermi('order:order:edit')}]]; var prefix = ctx + "order/master"; + var customParams = {}; $(function () { var panehHidden = false; @@ -320,7 +209,7 @@ }; $('#scroll-up').toTop(opt); } - queryOrderList(); + initOrderList(); $.ajax({ type: "POST", @@ -368,6 +257,92 @@ }) changeOrderMode(); + + + $.ajax({ + type: "GET", + dataType:"json", + url: prefix + '/differentStatus/count', + success: function (result) { + if (result.code == web_status.SUCCESS) { + $('#acceptedOrderNum').text(result.data.acceptedOrderNum); + $('#canceledOrderNum').text(result.data.canceledOrderNum); + $('#confirmingOrderNum').text(result.data.confirmingOrderNum); + $('#finishedOrderNum').text(result.data.finishedOrderNum); + $('#servingOrderNum').text(result.data.servingOrderNum); + $('#waitForDoorOrderNum').text(result.data.waitForDoorOrderNum); + } else { + $.modal.msgError("数据加载错误,请重试!") + } + } + }) + + + $.ajax({ + type: "GET", + dataType:"json", + url: prefix + '/count', + data: {orderStatus: 0, sysPayStatus: 0, orderMode: '02'}, + success: function (result) { + if (result.code == web_status.SUCCESS) { + $('#nonPaidOrderNum').text(result.data); + } else { + $.modal.msgError("数据加载错误,请重试!") + } + } + }) + + + $.ajax({ + type: "GET", + dataType:"json", + url: prefix + '/count', + data: {orderStatus: 0, workerId: -1}, + success: function (result) { + if (result.code == web_status.SUCCESS) { + $('#publishedOrderNum').text(result.data); + } else { + $.modal.msgError("数据加载错误,请重试!") + } + } + }) + + + var date = new Date(); + $.ajax({ + type: "GET", + dataType:"json", + url: prefix + '/count', + data: { + orderStatus: 2, + expectTimeStart: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate() + " 00:00:00", + expectTimeEnd: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate() + " 23:59:59" + }, + success: function (result) { + if (result.code == web_status.SUCCESS) { + $('#todayOrderNum').text(result.data); + } else { + $.modal.msgError("数据加载错误,请重试!") + } + } + }) + $.ajax({ + type: "GET", + dataType:"json", + url: prefix + '/count', + data: { + orderStatus: 2, + expectTimeStart: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + (date.getDate() + 1) + " 00:00:00", + expectTimeEnd: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + (date.getDate() + 1) + " 23:59:59" + }, + success: function (result) { + if (result.code == web_status.SUCCESS) { + $('#tomorrowOrderNum').text(result.data); + } else { + $.modal.msgError("数据加载错误,请重试!") + } + } + }) }); function changeOrderMode(orderMode) { @@ -410,10 +385,11 @@ }) } - function queryOrderList() { + function initOrderList() { var options = { url: prefix + "/list", exportUrl: prefix + "/export", + queryParams: queryParams, sortName: "createTime", sortOrder: "desc", modalName: "订单", @@ -468,7 +444,6 @@ formatter: function (value, row, index) { var actions = []; actions.push('查看 '); - actions.push('
师傅退单 '); actions.push('商家退单 '); if (row.payStatus == 0) { actions.push('付款 '); @@ -520,6 +495,12 @@ $.table.init(options); } + function queryParams(params) { + var search = $.table.queryParams(params); + Object.assign(search, customParams) + return search; + } + function detail(id) { var url = "order/goods?orderId=" + id; $.modal.open("商品信息", url); @@ -539,8 +520,45 @@ }); } - function searchByOrderStatus(orderStatus) { - $('#orderStatus').val(orderStatus); + function changeConditionBtnChosenStyle(e) { + $('.condition-btn .btn').removeClass('active-condition-btn'); + $(e).addClass('active-condition-btn'); + } + + function selectConditionBtn(e, params = {}) { + changeConditionBtnChosenStyle(e); + searchOrderList(params) + } + + function selectOnDoorOrderToday(e) { + changeConditionBtnChosenStyle(e); + var date = new Date(); + selectConditionBtn(e, { + orderStatus: 2, + expectTimeStart: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate() + " 00:00:00", + expectTimeEnd: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate() + " 23:59:59" + }) + } + + function selectOnDoorOrderTomorrow(e) { + changeConditionBtnChosenStyle(e); + var date = new Date(); + selectConditionBtn(e, { + orderStatus: 2, + expectTimeStart: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + (date.getDate() + 1) + " 00:00:00", + expectTimeEnd: date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + (date.getDate() + 1) + " 23:59:59" + }) + } + + function searchOrderList(params) { + customParams = params; + $.table.search(); + } + + function resetForm() { + $.form.reset(); + customParams = {}; + changeConditionBtnChosenStyle(); $.table.search(); } diff --git a/ghy-admin/src/main/resources/templates/worker/worker.html b/ghy-admin/src/main/resources/templates/worker/worker.html index 8117e335..265b8b99 100644 --- a/ghy-admin/src/main/resources/templates/worker/worker.html +++ b/ghy-admin/src/main/resources/templates/worker/worker.html @@ -112,7 +112,7 @@ sortable: true }, { - field: 'account', + field: 'phone', title: '账户' }, { diff --git a/ghy-order/src/main/java/com/ghy/order/domain/OrderCallRecord.java b/ghy-order/src/main/java/com/ghy/order/domain/OrderCallRecord.java new file mode 100644 index 00000000..d080c14c --- /dev/null +++ b/ghy-order/src/main/java/com/ghy/order/domain/OrderCallRecord.java @@ -0,0 +1,36 @@ +package com.ghy.order.domain; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import com.ghy.common.annotation.Excel; +import com.ghy.common.core.domain.BaseEntity; + +/** + * 订单约单记录对象 order_call_record + * + * @author clunt + * @date 2023-06-04 + */ +@Data +public class OrderCallRecord extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键 */ + private Long id; + + /** 订单号 */ + @Excel(name = "订单号") + private Long orderId; + + /** 订单类型 01.主单 02.子单 */ + @Excel(name = "订单类型 01.主单 02.子单") + private String orderType; + + /** 联系时间 */ + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "联系时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date callTime; + +} diff --git a/ghy-order/src/main/java/com/ghy/order/domain/OrderCount.java b/ghy-order/src/main/java/com/ghy/order/domain/OrderCount.java new file mode 100644 index 00000000..6af1608a --- /dev/null +++ b/ghy-order/src/main/java/com/ghy/order/domain/OrderCount.java @@ -0,0 +1,25 @@ +package com.ghy.order.domain; + +import lombok.Data; + +/** + * @description: 订单通用统计实体 + * @author: yangdanqi + * @date: 2023/6/14 + */ +@Data +public class OrderCount { + private Integer newOrderNum; + + private Integer acceptedOrderNum; + + private Integer waitForDoorOrderNum; + + private Integer servingOrderNum; + + private Integer confirmingOrderNum; + + private Integer finishedOrderNum; + + private Integer canceledOrderNum; +} diff --git a/ghy-order/src/main/java/com/ghy/order/domain/OrderDetail.java b/ghy-order/src/main/java/com/ghy/order/domain/OrderDetail.java index a59bdf40..03a42d57 100644 --- a/ghy-order/src/main/java/com/ghy/order/domain/OrderDetail.java +++ b/ghy-order/src/main/java/com/ghy/order/domain/OrderDetail.java @@ -8,8 +8,10 @@ import com.ghy.common.enums.PayTypeEnum; import com.ghy.goods.domain.Goods; import com.ghy.worker.domain.Worker; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; +import java.time.LocalDateTime; import java.util.Date; import java.util.List; @@ -45,11 +47,11 @@ public class OrderDetail extends BaseEntity { @Excel(name = "消费者电话", cellType = Excel.ColumnType.STRING) private String customerPhone; - + private String addressPhone; private String addressName; - + private String address; @Excel(name = "订单类型", cellType = Excel.ColumnType.NUMERIC) @@ -105,6 +107,8 @@ public class OrderDetail extends BaseEntity { private Integer ledgerAccountStatus; + private Integer sysPayStatus; + /** * 发起提现后Adapay返回的对象ID draw_cash_id */ @@ -162,4 +166,34 @@ public class OrderDetail extends BaseEntity { * 超时扣款次数 */ private Integer timeoutFineTimes; + + private String storeName; + + private String storePhone; + + private String workerName; + + private String workerPhone; + + private String keyWords; + + private List workerIds; + + private List masterIds; + + private Boolean searchAfterList; + + private Date workBeginTimeStart; + + private Date workBeginTimeEnd; + + private Date workFinishTimeStart; + + private Date workFinishTimeEnd; + + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTimeStart; + + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime createTimeEnd; } diff --git a/ghy-order/src/main/java/com/ghy/order/domain/OrderDetailCount.java b/ghy-order/src/main/java/com/ghy/order/domain/OrderDetailCount.java new file mode 100644 index 00000000..39a324af --- /dev/null +++ b/ghy-order/src/main/java/com/ghy/order/domain/OrderDetailCount.java @@ -0,0 +1,12 @@ +package com.ghy.order.domain; + +import lombok.Data; + +/** + * @description: 子单统计实体 + * @author: yangdanqi + * @date: 2023/6/14 + */ +@Data +public class OrderDetailCount extends OrderCount { +} diff --git a/ghy-order/src/main/java/com/ghy/order/domain/OrderMaster.java b/ghy-order/src/main/java/com/ghy/order/domain/OrderMaster.java index d611cfbf..e7f7be28 100644 --- a/ghy-order/src/main/java/com/ghy/order/domain/OrderMaster.java +++ b/ghy-order/src/main/java/com/ghy/order/domain/OrderMaster.java @@ -139,4 +139,15 @@ public class OrderMaster extends BaseEntity { * 超时扣款次数 */ private Integer timeoutFineTimes; + + private String orderMode; + + private Integer sysPayStatus; + + /** + * 是否约单 + * */ + private String isCall; + + private BigDecimal serverMoney; } diff --git a/ghy-order/src/main/java/com/ghy/order/domain/OrderMasterCount.java b/ghy-order/src/main/java/com/ghy/order/domain/OrderMasterCount.java new file mode 100644 index 00000000..812295cf --- /dev/null +++ b/ghy-order/src/main/java/com/ghy/order/domain/OrderMasterCount.java @@ -0,0 +1,12 @@ +package com.ghy.order.domain; + +import lombok.Data; + +/** + * @description: 主单统计实体 + * @author: yangdanqi + * @date: 2023/6/7 + */ +@Data +public class OrderMasterCount extends OrderCount { +} diff --git a/ghy-order/src/main/java/com/ghy/order/mapper/OrderCallRecordMapper.java b/ghy-order/src/main/java/com/ghy/order/mapper/OrderCallRecordMapper.java new file mode 100644 index 00000000..76925acb --- /dev/null +++ b/ghy-order/src/main/java/com/ghy/order/mapper/OrderCallRecordMapper.java @@ -0,0 +1,63 @@ +package com.ghy.order.mapper; + +import com.ghy.order.domain.OrderCallRecord; + +import java.util.List; + +/** + * 订单约单记录Mapper接口 + * + * @author clunt + * @date 2023-06-04 + */ +public interface OrderCallRecordMapper +{ + /** + * 查询订单约单记录 + * + * @param id 订单约单记录主键 + * @return 订单约单记录 + */ + public OrderCallRecord selectOrderCallRecordById(Long id); + + /** + * 查询订单约单记录列表 + * + * @param orderCallRecord 订单约单记录 + * @return 订单约单记录集合 + */ + public List selectOrderCallRecordList(OrderCallRecord orderCallRecord); + + /** + * 新增订单约单记录 + * + * @param orderCallRecord 订单约单记录 + * @return 结果 + */ + public int insertOrderCallRecord(OrderCallRecord orderCallRecord); + + /** + * 修改订单约单记录 + * + * @param orderCallRecord 订单约单记录 + * @return 结果 + */ + public int updateOrderCallRecord(OrderCallRecord orderCallRecord); + + /** + * 删除订单约单记录 + * + * @param id 订单约单记录主键 + * @return 结果 + */ + public int deleteOrderCallRecordById(Long id); + + /** + * 批量删除订单约单记录 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteOrderCallRecordByIds(String[] ids); + +} diff --git a/ghy-order/src/main/java/com/ghy/order/mapper/OrderDetailMapper.java b/ghy-order/src/main/java/com/ghy/order/mapper/OrderDetailMapper.java index 97ff8196..bd314047 100644 --- a/ghy-order/src/main/java/com/ghy/order/mapper/OrderDetailMapper.java +++ b/ghy-order/src/main/java/com/ghy/order/mapper/OrderDetailMapper.java @@ -1,6 +1,7 @@ package com.ghy.order.mapper; import com.ghy.order.domain.OrderDetail; +import com.ghy.order.domain.OrderDetailCount; import com.ghy.order.domain.OrderStatusCount; import org.apache.ibatis.annotations.Param; @@ -114,4 +115,6 @@ public interface OrderDetailMapper { @Param("drawCashTime") Date drawCashTime, @Param("arrivalTime") Date arrivalTime); int deleteByMaster(Long masterId); + + OrderDetailCount differentStatusOrderCount(OrderDetail orderDetail); } diff --git a/ghy-order/src/main/java/com/ghy/order/mapper/OrderMasterMapper.java b/ghy-order/src/main/java/com/ghy/order/mapper/OrderMasterMapper.java index d8994451..ee2b86ef 100644 --- a/ghy-order/src/main/java/com/ghy/order/mapper/OrderMasterMapper.java +++ b/ghy-order/src/main/java/com/ghy/order/mapper/OrderMasterMapper.java @@ -1,6 +1,7 @@ package com.ghy.order.mapper; import com.ghy.order.domain.OrderMaster; +import com.ghy.order.domain.OrderMasterCount; import org.apache.ibatis.annotations.Param; import java.util.Collection; @@ -107,4 +108,6 @@ public interface OrderMasterMapper { * @return 1 */ int removeWorker(Long id); + + OrderMasterCount differentStatusOrderCount(); } diff --git a/ghy-order/src/main/java/com/ghy/order/request/SysOrderAssignRequest.java b/ghy-order/src/main/java/com/ghy/order/request/SysOrderAssignRequest.java index a7fb8ebc..5ef23d23 100644 --- a/ghy-order/src/main/java/com/ghy/order/request/SysOrderAssignRequest.java +++ b/ghy-order/src/main/java/com/ghy/order/request/SysOrderAssignRequest.java @@ -47,4 +47,7 @@ public class SysOrderAssignRequest { private String servDate; private String servTime; + + private String orderMode; + } diff --git a/ghy-order/src/main/java/com/ghy/order/service/IOrderCallRecordService.java b/ghy-order/src/main/java/com/ghy/order/service/IOrderCallRecordService.java new file mode 100644 index 00000000..3b41a67f --- /dev/null +++ b/ghy-order/src/main/java/com/ghy/order/service/IOrderCallRecordService.java @@ -0,0 +1,62 @@ +package com.ghy.order.service; + +import com.ghy.order.domain.OrderCallRecord; + +import java.util.List; + +/** + * 订单约单记录Service接口 + * + * @author clunt + * @date 2023-06-04 + */ +public interface IOrderCallRecordService +{ + /** + * 查询订单约单记录 + * + * @param id 订单约单记录主键 + * @return 订单约单记录 + */ + public OrderCallRecord selectOrderCallRecordById(Long id); + + /** + * 查询订单约单记录列表 + * + * @param orderCallRecord 订单约单记录 + * @return 订单约单记录集合 + */ + public List selectOrderCallRecordList(OrderCallRecord orderCallRecord); + + /** + * 新增订单约单记录 + * + * @param orderCallRecord 订单约单记录 + * @return 结果 + */ + public int insertOrderCallRecord(OrderCallRecord orderCallRecord); + + /** + * 修改订单约单记录 + * + * @param orderCallRecord 订单约单记录 + * @return 结果 + */ + public int updateOrderCallRecord(OrderCallRecord orderCallRecord); + + /** + * 批量删除订单约单记录 + * + * @param ids 需要删除的订单约单记录主键集合 + * @return 结果 + */ + public int deleteOrderCallRecordByIds(String ids); + + /** + * 删除订单约单记录信息 + * + * @param id 订单约单记录主键 + * @return 结果 + */ + public int deleteOrderCallRecordById(Long id); +} diff --git a/ghy-order/src/main/java/com/ghy/order/service/OrderDetailService.java b/ghy-order/src/main/java/com/ghy/order/service/OrderDetailService.java index 0a903973..9db2bf5f 100644 --- a/ghy-order/src/main/java/com/ghy/order/service/OrderDetailService.java +++ b/ghy-order/src/main/java/com/ghy/order/service/OrderDetailService.java @@ -1,9 +1,7 @@ package com.ghy.order.service; import com.ghy.common.enums.OrderStatus; -import com.ghy.order.domain.OrderAddSubtract; -import com.ghy.order.domain.OrderDetail; -import com.ghy.order.domain.OrderStatusCount; +import com.ghy.order.domain.*; import com.ghy.payment.domain.FinancialChangeRecord; import com.huifu.adapay.core.exception.BaseAdaPayException; @@ -186,4 +184,6 @@ public interface OrderDetailService { * @return 1 */ int insertOrderAddSubtract(OrderAddSubtract body); + + OrderDetailCount differentStatusOrderCount(OrderDetail orderDetail); } diff --git a/ghy-order/src/main/java/com/ghy/order/service/OrderMasterService.java b/ghy-order/src/main/java/com/ghy/order/service/OrderMasterService.java index edc62dab..027b6a20 100644 --- a/ghy-order/src/main/java/com/ghy/order/service/OrderMasterService.java +++ b/ghy-order/src/main/java/com/ghy/order/service/OrderMasterService.java @@ -2,6 +2,7 @@ package com.ghy.order.service; import com.ghy.common.core.domain.AjaxResult; import com.ghy.order.domain.OrderMaster; +import com.ghy.order.domain.OrderMasterCount; import com.ghy.order.request.AppOrderRequest; import com.huifu.adapay.core.exception.BaseAdaPayException; @@ -165,4 +166,6 @@ public interface OrderMasterService { int removeWorker(Long id); int reject(OrderMaster orderMaster); + + OrderMasterCount differentStatusOrderCount(); } diff --git a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderCallRecordServiceImpl.java b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderCallRecordServiceImpl.java new file mode 100644 index 00000000..e72972c0 --- /dev/null +++ b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderCallRecordServiceImpl.java @@ -0,0 +1,96 @@ +package com.ghy.order.service.impl; + +import java.util.List; + +import com.ghy.order.domain.OrderCallRecord; +import com.ghy.order.mapper.OrderCallRecordMapper; +import com.ghy.order.service.IOrderCallRecordService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ghy.common.core.text.Convert; + +/** + * 订单约单记录Service业务层处理 + * + * @author clunt + * @date 2023-06-04 + */ +@Service +public class OrderCallRecordServiceImpl implements IOrderCallRecordService +{ + @Autowired + private OrderCallRecordMapper orderCallRecordMapper; + + /** + * 查询订单约单记录 + * + * @param id 订单约单记录主键 + * @return 订单约单记录 + */ + @Override + public OrderCallRecord selectOrderCallRecordById(Long id) + { + return orderCallRecordMapper.selectOrderCallRecordById(id); + } + + /** + * 查询订单约单记录列表 + * + * @param orderCallRecord 订单约单记录 + * @return 订单约单记录 + */ + @Override + public List selectOrderCallRecordList(OrderCallRecord orderCallRecord) + { + return orderCallRecordMapper.selectOrderCallRecordList(orderCallRecord); + } + + /** + * 新增订单约单记录 + * + * @param orderCallRecord 订单约单记录 + * @return 结果 + */ + @Override + public int insertOrderCallRecord(OrderCallRecord orderCallRecord) + { + return orderCallRecordMapper.insertOrderCallRecord(orderCallRecord); + } + + /** + * 修改订单约单记录 + * + * @param orderCallRecord 订单约单记录 + * @return 结果 + */ + @Override + public int updateOrderCallRecord(OrderCallRecord orderCallRecord) + { + return orderCallRecordMapper.updateOrderCallRecord(orderCallRecord); + } + + /** + * 批量删除订单约单记录 + * + * @param ids 需要删除的订单约单记录主键 + * @return 结果 + */ + @Override + public int deleteOrderCallRecordByIds(String ids) + { + return orderCallRecordMapper.deleteOrderCallRecordByIds(Convert.toStrArray(ids)); + } + + /** + * 删除订单约单记录信息 + * + * @param id 订单约单记录主键 + * @return 结果 + */ + @Override + public int deleteOrderCallRecordById(Long id) + { + return orderCallRecordMapper.deleteOrderCallRecordById(id); + } + +} \ No newline at end of file diff --git a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java index 5fe6027a..dba5d722 100644 --- a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java +++ b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderDetailServiceImpl.java @@ -852,4 +852,9 @@ public class OrderDetailServiceImpl implements OrderDetailService { insert.setPayType(body.getPayType()); return orderAddSubtractMapper.insert(insert); } + + @Override + public OrderDetailCount differentStatusOrderCount(OrderDetail orderDetail) { + return orderDetailMapper.differentStatusOrderCount(orderDetail); + } } diff --git a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderMasterServiceImpl.java b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderMasterServiceImpl.java index 91eb7371..7f3f6662 100644 --- a/ghy-order/src/main/java/com/ghy/order/service/impl/OrderMasterServiceImpl.java +++ b/ghy-order/src/main/java/com/ghy/order/service/impl/OrderMasterServiceImpl.java @@ -15,6 +15,7 @@ import com.ghy.common.utils.AdapayUtils; import com.ghy.order.domain.OrderDetail; import com.ghy.order.domain.OrderGoods; import com.ghy.order.domain.OrderMaster; +import com.ghy.order.domain.OrderMasterCount; import com.ghy.order.mapper.OrderMasterMapper; import com.ghy.order.request.AppOrderRequest; import com.ghy.order.service.OrderDetailService; @@ -557,4 +558,9 @@ public class OrderMasterServiceImpl implements OrderMasterService { orderDetailService.deleteByMaster(orderMaster.getId()); return 1; } + + @Override + public OrderMasterCount differentStatusOrderCount() { + return orderMasterMapper.differentStatusOrderCount(); + } } diff --git a/ghy-order/src/main/resources/mapper/order/OrderCallRecordMapper.xml b/ghy-order/src/main/resources/mapper/order/OrderCallRecordMapper.xml new file mode 100644 index 00000000..876ea0d8 --- /dev/null +++ b/ghy-order/src/main/resources/mapper/order/OrderCallRecordMapper.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + select id, order_id, order_type, call_time from order_call_record + + + + + + + + insert into order_call_record + + order_id, + order_type, + call_time, + + + #{orderId}, + #{orderType}, + #{callTime}, + + + + + update order_call_record + + order_id = #{orderId}, + order_type = #{orderType}, + call_time = #{callTime}, + + where id = #{id} + + + + delete from order_call_record where id = #{id} + + + + delete from order_call_record where id in + + #{id} + + + + \ No newline at end of file diff --git a/ghy-order/src/main/resources/mapper/order/OrderDetailMapper.xml b/ghy-order/src/main/resources/mapper/order/OrderDetailMapper.xml index 5c6e2394..0a620a2b 100644 --- a/ghy-order/src/main/resources/mapper/order/OrderDetailMapper.xml +++ b/ghy-order/src/main/resources/mapper/order/OrderDetailMapper.xml @@ -129,6 +129,18 @@ AND od.worker_id = #{workerId} + + AND od.worker_id in + + #{workerId} + + + + AND od.order_master_id in + + #{masterId} + + AND g.dept_goods_category_id = #{goodsCategoryId} @@ -144,6 +156,24 @@ AND od.expect_time_end <= #{expectTimeEnd} + + AND od.create_time >= #{createTimeStart} + + + AND od.create_time <= #{createTimeEnd} + + + AND od.work_finish_time >= #{workFinishTimeStart} + + + AND od.work_finish_time <= #{workFinishTimeEnd} + + + AND od.work_begin_time >= #{workBeginTimeStart} + + + AND od.work_begin_time <= #{workBeginTimeEnd} + AND od.id in ( ${orderDetailIds} ) @@ -236,6 +266,18 @@ #{drawCashStatus} + + AND od.timeout_ = #{timeout} + + + AND od.order_master_id in + + #{masterId} + + + + AND od.id in ( ${orderDetailIds} ) + order by od.create_time @@ -400,4 +442,20 @@ update_time = NOW() WHERE draw_cash_id = #{drawCashId} + + diff --git a/ghy-order/src/main/resources/mapper/order/OrderMasterMapper.xml b/ghy-order/src/main/resources/mapper/order/OrderMasterMapper.xml index 7c99bcbe..2440f324 100644 --- a/ghy-order/src/main/resources/mapper/order/OrderMasterMapper.xml +++ b/ghy-order/src/main/resources/mapper/order/OrderMasterMapper.xml @@ -11,6 +11,7 @@ + @@ -29,6 +30,8 @@ + + @@ -38,6 +41,7 @@ customer_id, address_id, order_type, + order_mode, order_status, pay_type, pay_status, @@ -53,7 +57,9 @@ all_self_assigned, goods_id, timeout_, - timeout_fine_times + timeout_fine_times, + is_call, + order_mode FROM order_master @@ -63,6 +69,7 @@ om.customer_id, om.address_id, om.order_type, + om.order_mode, om.order_status, om.pay_type, om.pay_status, @@ -78,10 +85,13 @@ om.all_self_assigned, om.goods_id, om.timeout_, - om.timeout_fine_times + om.timeout_fine_times, + om.is_call, + fm.server_money FROM order_master om LEFT JOIN customer_address ca ON ca.customer_address_id = om.address_id LEFT JOIN goods g ON g.goods_id = om.goods_id + LEFT JOIN financial_master fm ON om.id = fm.order_master_id @@ -268,6 +314,7 @@ all_self_assigned = #{allSelfAssigned}, all_self_assigned = null, has_dispatched_all = #{hasDispatchedAll}, + is_call = #{isCall}, update_time = SYSDATE() WHERE id = #{id} @@ -295,6 +342,7 @@ address_id, goods_id, order_type, + order_mode, order_status, pay_type, pay_status, @@ -313,6 +361,7 @@ #{addressId}, #{goodsId}, #{orderType}, + #{orderMode}, #{orderStatus}, #{payType}, #{payStatus}, @@ -374,4 +423,15 @@ WHERE id = #{id} + + diff --git a/ghy-worker/src/main/java/com/ghy/worker/mapper/WorkerMapper.java b/ghy-worker/src/main/java/com/ghy/worker/mapper/WorkerMapper.java index 647aaf23..bfe9300f 100644 --- a/ghy-worker/src/main/java/com/ghy/worker/mapper/WorkerMapper.java +++ b/ghy-worker/src/main/java/com/ghy/worker/mapper/WorkerMapper.java @@ -14,6 +14,12 @@ public interface WorkerMapper { */ List getWorkerList(Worker worker); + /** + * @param worker 师傅端 + * @return 师傅集合 + */ + List getWorkByPhoneAndPwd(Worker worker); + /** * @param worker 师傅信息 * @return 新增成功条数 diff --git a/ghy-worker/src/main/java/com/ghy/worker/service/WorkerService.java b/ghy-worker/src/main/java/com/ghy/worker/service/WorkerService.java index 8c8f21fa..6ce48e8f 100644 --- a/ghy-worker/src/main/java/com/ghy/worker/service/WorkerService.java +++ b/ghy-worker/src/main/java/com/ghy/worker/service/WorkerService.java @@ -33,6 +33,8 @@ public interface WorkerService { */ int updateWorker(Worker worker); + List getWorkByPhoneAndPwd(Worker worker); + /** * 用师傅ID查询 * diff --git a/ghy-worker/src/main/java/com/ghy/worker/service/impl/WorkerServiceImpl.java b/ghy-worker/src/main/java/com/ghy/worker/service/impl/WorkerServiceImpl.java index 16c4ab2a..0e70295f 100644 --- a/ghy-worker/src/main/java/com/ghy/worker/service/impl/WorkerServiceImpl.java +++ b/ghy-worker/src/main/java/com/ghy/worker/service/impl/WorkerServiceImpl.java @@ -45,6 +45,11 @@ public class WorkerServiceImpl implements WorkerService { return workerMapper.updateWorker(worker); } + @Override + public List getWorkByPhoneAndPwd(Worker worker) { + return workerMapper.getWorkByPhoneAndPwd(worker); + } + @Override public Worker selectById(Long workerId) { return workerMapper.selectById(workerId); diff --git a/ghy-worker/src/main/resources/mapper/worker/WorkerMapper.xml b/ghy-worker/src/main/resources/mapper/worker/WorkerMapper.xml index cd542509..14cb77d8 100644 --- a/ghy-worker/src/main/resources/mapper/worker/WorkerMapper.xml +++ b/ghy-worker/src/main/resources/mapper/worker/WorkerMapper.xml @@ -38,6 +38,14 @@ LEFT JOIN sys_dept_config sdc ON w.dept_id = sdc.dept_id + + SELECT + w.worker_id, w.name, w.account, w.phone, w.password, w.open_id, w.dept_id, w.status, w.worker_logo_url, + w.leader_team_rate, w.leader_team_money, w.create_by, w.create_time, w.update_by, w.update_time, + w.remark, w.type, w.store_status, w.alipay_account, w.alipay_name + FROM worker w + + + +