From 45e02578775f7e05e41923af4294c3617e26bd13 Mon Sep 17 00:00:00 2001 From: wzp <2040239371@qq.com> Date: 星期日, 04 五月 2025 18:58:50 +0800 Subject: [PATCH] feat: 优化匿名,和详情页 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TbOrdersController.java | 184 ++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 178 insertions(+), 6 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TbOrdersController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TbOrdersController.java index 7d4a966..5f0b743 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TbOrdersController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TbOrdersController.java @@ -1,9 +1,21 @@ package com.ruoyi.web.controller.system; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; import java.util.List; import javax.servlet.http.HttpServletResponse; + +import com.ruoyi.common.annotation.Anonymous; +import com.ruoyi.common.core.domain.entity.ServiceOrderAppResultVo; +import com.ruoyi.common.core.domain.entity.ServiceOrderAppVo; +import com.ruoyi.common.core.domain.entity.ServiceOrderDelVo; +import com.ruoyi.common.utils.civilAviation.ServiceOrderUtil; +import com.ruoyi.system.domain.SysClientApp; +import com.ruoyi.system.service.ISysClientAppService; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; @@ -20,6 +32,7 @@ import com.ruoyi.system.service.ITbOrdersService; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.core.domain.entity.OrderCancelVo; /** * ordersController @@ -33,6 +46,9 @@ { @Autowired private ITbOrdersService tbOrdersService; + + @Autowired + private ISysClientAppService clientAppService; /** * 鏌ヨorders鍒楄〃 @@ -70,14 +86,170 @@ } /** - * 鏂板orders + * 鎻愪緵澶栭儴鎺ュ彛鍙互璋冪敤 + * @param tbOrders + * @return */ - @PreAuthorize("@ss.hasPermi('system:orders:add')") - @Log(title = "orders", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody TbOrders tbOrders) +// @Anonymous(needSign = true) + @Anonymous +// @Log(title = "orders", businessType = BusinessType.INSERT) + @PostMapping("/add") + public AjaxResult add(@RequestBody TbOrders tbOrders) { + try { + if (tbOrders == null || tbOrders.getOrderID() == null) { + return AjaxResult.error("浼犺緭鏁版嵁涓虹┖锛�"); + } + + tbOrders.setCreateTime(new Date()); + + tbOrdersService.insertTbOrders(tbOrders); + + SysClientApp scApp = clientAppService.selectSysClientAppByAppId(1L); + + + ServiceOrderAppVo model = new ServiceOrderAppVo(); + model.setMethod("ServiceOrder_APP"); // 璁剧疆鎺ュ彛鍚嶇О + model.setAppId(scApp.getMinAppId()); // 璁剧疆鍟嗘埛 APPID + model.setOrdType(tbOrders.getTypeCode().intValue()); + model.setCoPhone(tbOrders.getLinkTel()); // 瀹㈡埛鑱旂郴鐢佃瘽 + model.setCoName(tbOrders.getLinkPerson()); // 瀹㈡埛濮撳悕 +// model.setCoTies("瀹跺睘"); // 闅忔満璁剧疆瀹㈡埛鑱旂郴浜轰笌鎮h�呭叧绯� + // 璁剧疆棰勭害鏃堕棿涓轰竴澶╁悗 + Calendar calendar = Calendar.getInstance(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd%20HH:mm"); + model.setApptDate(sdf.format(tbOrders.getBookingDate())); // 鏍煎紡鍖栭绾﹁繍閫佹椂闂� + + model.setPtName(tbOrders.getPatientName()); // 鎮h�呭鍚� + model.setPtAge(tbOrders.getAge()); // 闅忔満鐢熸垚鎮h�呭勾榫� + model.setPtSex(tbOrders.getSex() == 1 ? "鐢�" : "濂�"); // 闅忔満鐢熸垚鎮h�呮�у埆 +// model.setPtNat("涓浗"); // 璁剧疆鎮h�呭浗绫� + model.setOutHosp(tbOrders.getLocalAddress()); // 璁剧疆杞嚭鍖婚櫌 + model.setInHosp(tbOrders.getSendAddress()); // 璁剧疆杞叆鍖婚櫌 +// model.setPtServices("绉戝" + (int) (Math.random() * 10)); // 闅忔満璁剧疆鎮h�呮墍鍦ㄧ瀹� + model.setPtDiagnosis(tbOrders.getComplaint()); // 璁剧疆璇婃柇淇℃伅 + model.setCondition(tbOrders.getRemark()); // 璁剧疆澶囨敞淇℃伅 +// model.setDoctor("鍖荤敓" + (int) (Math.random() * 10)); // 闅忔満璁剧疆鎮h�呭尰鐢� +// model.setDoctorPhone("13" + (int) (Math.random() * 900000000 + 100000000)); // 闅忔満鐢熸垚鎮h�呭尰鐢熺數璇� + model.setOfferPrice(tbOrders.getBookingPrice().doubleValue()); // 闅忔満鐢熸垚鎶ヤ环 +// model.setReferrals("鎺ㄤ粙浜�" + (int) (Math.random() * 10)); // 闅忔満璁剧疆鎺ㄤ粙浜轰俊鎭� +// model.setUnitRemarks("鍟嗘埛闅忔満澶囨敞淇℃伅"); // 闅忔満璁剧疆鍟嗘埛澶囨敞 +// model.setPayQRcodeURL("https://example.com/qrcode/" + (int) (Math.random() * 100)); // 闅忔満鐢熸垚澶栭儴鏀粯浜岀淮鐮侀摼鎺� + + ServiceOrderAppResultVo result = ServiceOrderUtil.CreateServiceOrder(model); + + if (result.getResult() == 1) { + tbOrders.setOrderID(tbOrders.getOrderID()); + tbOrders.setServiceOrdID(result.getServiceOrdID()); + tbOrders.setServiceOrdNo(result.getServiceOrdNo()); + tbOrders.setThirdPartyResult(result.getResult()); + tbOrders.setUpdateTime(new Date()); + tbOrders.setOrderStatus(1); + tbOrdersService.updateTbOrders(tbOrders); + return AjaxResult.success(result); + } else { + return AjaxResult.error("鎻愪氦澶辫触"); + } + } catch (Exception e) { + return AjaxResult.error("鎻愪氦澶辫触:"+e.getMessage()); + } + } + + /** + * 閲嶆柊鍙戦�佽鍗� + */ + @PostMapping("/resend/{orderId}") + public AjaxResult resendOrder(@PathVariable Long orderId) { + + TbOrders tbOrders = tbOrdersService.selectTbOrdersByOrderID(orderId); + if (tbOrders == null) { + return AjaxResult.error("璁㈠崟涓嶅瓨鍦�"); + } + if (tbOrders.getOrderStatus() == 2) { + return AjaxResult.error("璁㈠崟鐘舵�佸凡鍙栨秷"); + } + + SysClientApp scApp = clientAppService.selectSysClientAppByAppId(1L); + + + ServiceOrderAppVo model = new ServiceOrderAppVo(); + model.setMethod("ServiceOrder_APP"); // 璁剧疆鎺ュ彛鍚嶇О + model.setAppId(scApp.getMinAppId()); // 璁剧疆鍟嗘埛 APPID + model.setOrdType(tbOrders.getTypeCode().intValue()); + model.setCoPhone(tbOrders.getLinkTel()); // 瀹㈡埛鑱旂郴鐢佃瘽 + model.setCoName(tbOrders.getLinkPerson()); // 瀹㈡埛濮撳悕 +// model.setCoTies("瀹跺睘"); // 闅忔満璁剧疆瀹㈡埛鑱旂郴浜轰笌鎮h�呭叧绯� + // 璁剧疆棰勭害鏃堕棿涓轰竴澶╁悗 + Calendar calendar = Calendar.getInstance(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd%20HH:mm"); + model.setApptDate(sdf.format(tbOrders.getBookingDate())); // 鏍煎紡鍖栭绾﹁繍閫佹椂闂� + + model.setPtName(tbOrders.getPatientName()); // 鎮h�呭鍚� + model.setPtAge(tbOrders.getAge()); // 闅忔満鐢熸垚鎮h�呭勾榫� + model.setPtSex(tbOrders.getSex() == 1 ? "鐢�" : "濂�"); // 闅忔満鐢熸垚鎮h�呮�у埆 +// model.setPtNat("涓浗"); // 璁剧疆鎮h�呭浗绫�--榛樿涓浗锛屼笉闇�瑕佽缃� + model.setOutHosp(tbOrders.getLocalAddress()); // 璁剧疆杞嚭鍖婚櫌 + model.setInHosp(tbOrders.getSendAddress()); // 璁剧疆杞叆鍖婚櫌 +// model.setPtServices("绉戝")); // 璁剧疆鎮h�呮墍鍦ㄧ瀹� + model.setPtDiagnosis(tbOrders.getComplaint()); // 璁剧疆璇婃柇淇℃伅 + model.setCondition(tbOrders.getRemark()); // 璁剧疆澶囨敞淇℃伅 +// model.setDoctor("鍖荤敓")); // 璁剧疆鎮h�呭尰鐢�--娌℃湁鍖荤敓淇℃伅 +// model.setDoctorPhone("")); // 璁剧疆鎮h�呭尰鐢熺數璇�--娌℃湁鍖荤敓鐢佃瘽 + model.setOfferPrice(tbOrders.getBookingPrice().doubleValue()); // 鎶ヤ环 +// model.setReferrals("鎺ㄤ粙浜�")); // 璁剧疆鎺ㄤ粙浜轰俊鎭�--娌℃湁鎺ㄤ粙浜轰俊鎭� +// model.setUnitRemarks("鍟嗘埛澶囨敞淇℃伅"); // 璁剧疆鍟嗘埛澶囨敞--娌℃湁鍟嗘埛澶囨敞 +// model.setPayQRcodeURL("https://example.com/qrcode/")); // 澶栭儴鏀粯浜岀淮鐮侀摼鎺�--鐢ㄤ笉鍒� + + ServiceOrderAppResultVo result = ServiceOrderUtil.CreateServiceOrder(model); + + if (result.getResult() == 1) { + tbOrders.setOrderID(tbOrders.getOrderID()); + tbOrders.setServiceOrdID(result.getServiceOrdID()); + tbOrders.setServiceOrdNo(result.getServiceOrdNo()); + tbOrders.setThirdPartyResult(result.getResult()); + tbOrders.setUpdateTime(new Date()); + tbOrders.setOrderStatus(1); + tbOrdersService.updateTbOrders(tbOrders); + return AjaxResult.success(result); + } else { + return AjaxResult.error("鎻愪氦澶辫触"); + } + } + + + + @Anonymous + @PostMapping("/cancelOrder") + public AjaxResult cancelOrder(@RequestBody OrderCancelVo cancelVo) { - return toAjax(tbOrdersService.insertTbOrders(tbOrders)); + try { + if (cancelVo == null || cancelVo.getOrderID() == null || + cancelVo.getThirdOrderNo() == null || cancelVo.getReason() == null) { + return AjaxResult.error("蹇呰鍙傛暟涓嶈兘涓虹┖锛�"); + } + + SysClientApp scApp = clientAppService.selectSysClientAppByAppId(1L); + + ServiceOrderDelVo model = new ServiceOrderDelVo(); + model.setMethod("ServiceOrder_DEL"); // 璁剧疆鎺ュ彛鍚嶇О + model.setAPPID(scApp.getMinAppId()); // 璁剧疆鍟嗘埛 APPID + model.setServiceOrdID(cancelVo.getThirdOrderNo()); // 璁剧疆绗笁鏂硅鍗曞彿 + model.setDELRemarks(cancelVo.getReason()); // 璁剧疆鍙栨秷鍘熷洜 + + ServiceOrderAppResultVo result = ServiceOrderUtil.CancelServiceOrder(model); + + if (result.getResult() == 1) { + // 鏇存柊鏈湴璁㈠崟鐘舵�� + TbOrders tbOrders = new TbOrders(); + tbOrders.setOrderID(cancelVo.getOrderID()); + tbOrders.setOrderStatus(2); // 2鏄彇娑� + tbOrdersService.updateTbOrders(tbOrders); + return AjaxResult.success(result); + } else { + return AjaxResult.error("鍙栨秷璁㈠崟澶辫触"); + } + } catch (Exception e) { + return AjaxResult.error("鍙栨秷璁㈠崟澶辫触:" + e.getMessage()); + } } /** -- Gitblit v1.9.1