From e6d10b40cf08fb35a73552aa4f0d2e9ac0b227df Mon Sep 17 00:00:00 2001 From: wzp <2040239371@qq.com> Date: 星期三, 21 五月 2025 15:36:54 +0800 Subject: [PATCH] fix: 修复客户提交的订单类型,如果传的是0,替换为1 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TbOrdersController.java | 317 +++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 286 insertions(+), 31 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..1c907a9 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,17 +1,25 @@ package com.ruoyi.web.controller.system; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; import java.util.List; +import java.util.Objects; import javax.servlet.http.HttpServletResponse; + +import com.ruoyi.common.annotation.Anonymous; +import com.ruoyi.common.core.domain.entity.*; +import com.ruoyi.common.utils.civilAviation.ServiceOrderUtil; +import com.ruoyi.system.domain.SysClientApp; +import com.ruoyi.system.service.ISysClientAppService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; @@ -27,6 +35,7 @@ * @author wzp * @date 2025-05-01 */ +@Api("璁㈠崟绠$悊") @RestController @RequestMapping("/system/orders") public class TbOrdersController extends BaseController @@ -34,9 +43,10 @@ @Autowired private ITbOrdersService tbOrdersService; - /** - * 鏌ヨorders鍒楄〃 - */ + @Autowired + private ISysClientAppService clientAppService; + + @ApiOperation("鏌ヨ璁㈠崟鍒楄〃") @PreAuthorize("@ss.hasPermi('system:orders:list')") @GetMapping("/list") public TableDataInfo list(TbOrders tbOrders) @@ -46,9 +56,7 @@ return getDataTable(list); } - /** - * 瀵煎嚭orders鍒楄〃 - */ + @ApiOperation("瀵煎嚭璁㈠崟鍒楄〃") @PreAuthorize("@ss.hasPermi('system:orders:export')") @Log(title = "orders", businessType = BusinessType.EXPORT) @PostMapping("/export") @@ -59,9 +67,8 @@ util.exportExcel(response, list, "orders鏁版嵁"); } - /** - * 鑾峰彇orders璇︾粏淇℃伅 - */ + @ApiOperation("鑾峰彇璁㈠崟璇︾粏淇℃伅") + @ApiImplicitParam(name = "OrderID", value = "璁㈠崟ID", required = true, dataType = "Long", paramType = "path") @PreAuthorize("@ss.hasPermi('system:orders:query')") @GetMapping(value = "/{OrderID}") public AjaxResult getInfo(@PathVariable("OrderID") Long OrderID) @@ -70,19 +77,268 @@ } /** - * 鏂板orders + * 鎻愪緵澶栭儴鎺ュ彛鍙互璋冪敤 + * @param tbOrders + * @return */ - @PreAuthorize("@ss.hasPermi('system:orders:add')") - @Log(title = "orders", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody TbOrders tbOrders) - { - return toAjax(tbOrdersService.insertTbOrders(tbOrders)); + @Anonymous(needSign = true) +// @Anonymous +// @Log(title = "orders", businessType = BusinessType.INSERT) + @ApiOperation("鏂板璁㈠崟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "orderID", value = "璁㈠崟ID", dataType = "Long"), + @ApiImplicitParam(name = "typeCode", value = "璁㈠崟绫诲瀷", dataType = "Integer"), + @ApiImplicitParam(name = "linkTel", value = "鑱旂郴鐢佃瘽", dataType = "String"), + @ApiImplicitParam(name = "linkPerson", value = "鑱旂郴浜�", dataType = "String"), + @ApiImplicitParam(name = "bookingDate", value = "棰勭害鏃堕棿", dataType = "Date"), + @ApiImplicitParam(name = "patientName", value = "鎮h�呭鍚�", dataType = "String"), + @ApiImplicitParam(name = "age", value = "骞撮緞", dataType = "Integer"), + @ApiImplicitParam(name = "sex", value = "鎬у埆", dataType = "Integer"), + @ApiImplicitParam(name = "localAddress", value = "杞嚭鍖婚櫌", dataType = "String"), + @ApiImplicitParam(name = "sendAddress", value = "杞叆鍖婚櫌", dataType = "String"), + @ApiImplicitParam(name = "complaint", value = "璇婃柇淇℃伅", dataType = "String"), + @ApiImplicitParam(name = "remark", value = "澶囨敞", dataType = "String"), + @ApiImplicitParam(name = "bookingPrice", value = "鎶ヤ环", dataType = "BigDecimal") + }) + @PostMapping("/add") + public AjaxResult add(@RequestBody TbOrders tbOrders,String appId) { + try { + if (tbOrders == null || tbOrders.getOrderID() == null) { + return AjaxResult.error("浼犺緭鏁版嵁涓虹┖锛�"); + } + + if(appId ==null|| Objects.equals(appId, "")) + { + return AjaxResult.error("appid涓嶈兘涓虹┖锛�"); + } + + tbOrders.setAppId(appId); + tbOrders.setCreateTime(new Date()); + + try + { + tbOrdersService.insertTbOrders(tbOrders); + } + catch (Exception ex) + { + return AjaxResult.error("璁㈠崟鍙蜂笉鑳介噸澶�"); + } + + + SysClientApp scApp = clientAppService.selectSysClientAppByAppKey(tbOrders.getAppId()); + + ServiceOrderAppVo model = new ServiceOrderAppVo(); + model.setMethod("ServiceOrder_APP"); // 璁剧疆鎺ュ彛鍚嶇О + model.setAppId(scApp.getMinAppId()); // 璁剧疆鍟嗘埛 APPID + model.setUserID(scApp.getUserId()); + + //璁剧疆璁㈠崟绫诲瀷 + if(tbOrders.getTypeCode() == 0) { + model.setOrdType(1); + } else { + 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 HH: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�呮墍鍦ㄧ瀹� + + //濡傛灉璇婃柇淇℃伅涓虹┖锛屽垯涓嶈缃瘖鏂俊鎭� + if(tbOrders.getComplaint() != null && !tbOrders.getComplaint().equals("")) + { + model.setPtDiagnosis(tbOrders.getComplaint()); // 璁剧疆璇婃柇淇℃伅 + } + + + //棰勪及璺濈 + if(tbOrders.getBookingKM()!=null) + { + model.setTraDistance(tbOrders.getBookingKM().toString()); + } + + //濡傛灉澶囨敞淇℃伅涓虹┖锛屽垯涓嶈缃娉ㄤ俊鎭� + if(tbOrders.getRemark() != null && !tbOrders.getRemark().equals("")) + { + model.setCondition(tbOrders.getRemark()); // 璁剧疆澶囨敞淇℃伅 + } + + model.setPrice(tbOrders.getBookingPrice().doubleValue()); + model.setOfferPrice(tbOrders.getBookingPrice().doubleValue()); // 鐢熸垚鎶ヤ环 + model.setReferrals(scApp.getReferrals()); // 璁剧疆鎺ㄤ粙浜哄悕绉颁负鏈烘瀯鍚嶇О +// model.setUnitRemarks("鍟嗘埛闅忔満澶囨敞淇℃伅"); // 闅忔満璁剧疆鍟嗘埛澶囨敞 + model.setPayQRcodeURL(scApp.getPayUrl()); + + ServiceOrderAppResultVo result = ServiceOrderUtil.CreateServiceOrder(model,scApp.getMinAppSecret()); + + 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()); + } } - /** - * 淇敼orders - */ + @ApiOperation("閲嶆柊鍙戦�佽鍗�") + @ApiImplicitParam(name = "orderId", value = "璁㈠崟ID", required = true, dataType = "Long", paramType = "path") + @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.selectSysClientAppByAppKey(tbOrders.getAppId()); + + + ServiceOrderAppVo model = new ServiceOrderAppVo(); + model.setMethod("ServiceOrder_APP"); // 璁剧疆鎺ュ彛鍚嶇О + model.setAppId(scApp.getMinAppId()); // 璁剧疆鍟嗘埛 APPID + model.setUserID(scApp.getUserId()); + + 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 HH: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�呮墍鍦ㄧ瀹� + + //濡傛灉璇婃柇淇℃伅涓虹┖锛屽垯涓嶈缃瘖鏂俊鎭� + if(tbOrders.getComplaint() != null && !tbOrders.getComplaint().equals("")) + { + model.setPtDiagnosis(tbOrders.getComplaint()); // 璁剧疆璇婃柇淇℃伅 + } + + + //棰勪及璺濈 + if(tbOrders.getBookingKM()!=null) + { + model.setTraDistance(tbOrders.getBookingKM().toString()); + } + + //濡傛灉澶囨敞淇℃伅涓虹┖锛屽垯涓嶈缃娉ㄤ俊鎭� + if(tbOrders.getRemark() != null && !tbOrders.getRemark().equals("")) + { + model.setCondition(tbOrders.getRemark()); // 璁剧疆澶囨敞淇℃伅 + } + + + model.setOfferPrice(tbOrders.getBookingPrice().doubleValue()); // 鐢熸垚鎶ヤ环 + model.setPrice(tbOrders.getBookingPrice().doubleValue()); + model.setReferrals(scApp.getReferrals()); // 璁剧疆鎺ㄤ粙浜哄悕绉颁负鏈烘瀯鍚嶇О +// model.setUnitRemarks("鍟嗘埛闅忔満澶囨敞淇℃伅"); // 闅忔満璁剧疆鍟嗘埛澶囨敞 + model.setPayQRcodeURL(scApp.getPayUrl()); + + + ServiceOrderAppResultVo result = ServiceOrderUtil.CreateServiceOrder(model,scApp.getMinAppSecret()); + + 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("鎻愪氦澶辫触"); + } + } + + + + @ApiOperation("鍙栨秷璁㈠崟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "orderID", value = "璁㈠崟ID", required = true, dataType = "Long"), + @ApiImplicitParam(name = "thirdOrderNo", value = "绗笁鏂硅鍗曞彿", required = true, dataType = "String"), + @ApiImplicitParam(name = "reason", value = "鍙栨秷鍘熷洜", required = true, dataType = "String") + }) + @Anonymous(needSign = true) + @PostMapping("/cancelOrder") + public AjaxResult cancelOrder(@RequestBody OrderCancelVo cancelVo,String appId) + { + try { + if (cancelVo == null || cancelVo.getOrderID() == null || + cancelVo.getThirdOrderNo() == null || cancelVo.getReason() == null) { + return AjaxResult.error("蹇呰鍙傛暟涓嶈兘涓虹┖锛�"); + } + + SysClientApp scApp = clientAppService.selectSysClientAppByAppKey(appId); + + ServiceOrderDelVo model = new ServiceOrderDelVo(); + model.setMethod("ServiceOrder_DEL"); // 璁剧疆鎺ュ彛鍚嶇О + model.setAPPID(scApp.getMinAppId()); // 璁剧疆鍟嗘埛 APPID + model.setServiceOrdID(cancelVo.getThirdOrderNo()); // 璁剧疆绗笁鏂硅鍗曞彿 + model.setDELRemarks(cancelVo.getReason()); // 璁剧疆鍙栨秷鍘熷洜 + + ServiceOrderDelResultVo result = ServiceOrderUtil.CancelServiceOrder(model,scApp.getMinAppSecret()); + + 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("鍙栨秷璁㈠崟澶辫触",result); + } + } catch (Exception e) { + return AjaxResult.error("鍙栨秷璁㈠崟澶辫触:" + e.getMessage()); + } + } + + @ApiOperation("淇敼璁㈠崟") + @ApiImplicitParams({ + @ApiImplicitParam(name = "orderID", value = "璁㈠崟ID", required = true, dataType = "Long"), + @ApiImplicitParam(name = "typeCode", value = "璁㈠崟绫诲瀷", dataType = "Integer"), + @ApiImplicitParam(name = "linkTel", value = "鑱旂郴鐢佃瘽", dataType = "String"), + @ApiImplicitParam(name = "linkPerson", value = "鑱旂郴浜�", dataType = "String"), + @ApiImplicitParam(name = "bookingDate", value = "棰勭害鏃堕棿", dataType = "Date"), + @ApiImplicitParam(name = "patientName", value = "鎮h�呭鍚�", dataType = "String"), + @ApiImplicitParam(name = "age", value = "骞撮緞", dataType = "Integer"), + @ApiImplicitParam(name = "sex", value = "鎬у埆", dataType = "Integer"), + @ApiImplicitParam(name = "localAddress", value = "杞嚭鍖婚櫌", dataType = "String"), + @ApiImplicitParam(name = "sendAddress", value = "杞叆鍖婚櫌", dataType = "String"), + @ApiImplicitParam(name = "complaint", value = "璇婃柇淇℃伅", dataType = "String"), + @ApiImplicitParam(name = "remark", value = "澶囨敞", dataType = "String"), + @ApiImplicitParam(name = "bookingPrice", value = "鎶ヤ环", dataType = "BigDecimal") + }) @PreAuthorize("@ss.hasPermi('system:orders:edit')") @Log(title = "orders", businessType = BusinessType.UPDATE) @PutMapping @@ -91,12 +347,11 @@ return toAjax(tbOrdersService.updateTbOrders(tbOrders)); } - /** - * 鍒犻櫎orders - */ + @ApiOperation("鍒犻櫎璁㈠崟") + @ApiImplicitParam(name = "OrderIDs", value = "璁㈠崟ID鏁扮粍", required = true, dataType = "Long[]", paramType = "path") @PreAuthorize("@ss.hasPermi('system:orders:remove')") @Log(title = "orders", businessType = BusinessType.DELETE) - @DeleteMapping("/{OrderIDs}") + @DeleteMapping("/{OrderIDs}") public AjaxResult remove(@PathVariable Long[] OrderIDs) { return toAjax(tbOrdersService.deleteTbOrdersByOrderIDs(OrderIDs)); -- Gitblit v1.9.1