wzp
2025-05-04 45e02578775f7e05e41923af4294c3617e26bd13
feat: 优化匿名,和详情页
1个文件已添加
4个文件已修改
117 ■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ServiceOrderController.java 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TbOrdersController.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/api/system/order.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-ui/src/views/system/order/detail.vue 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
sql/SqlServer.A_OrderStatus.sql 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/ServiceOrderController.java
@@ -91,10 +91,14 @@
     * 根据服务订单编号获取详细信息
     */
    @Anonymous
    @Anonymous(needSign = true)
    @GetMapping(value = "/{serviceOrdId}")
    public AjaxResult getInfo(@PathVariable Long serviceOrdId) {
        TbOrders orderDetail = tbOrdersService.selectTbOrdersByOrderID(serviceOrdId);
        if(orderDetail==null){
            return AjaxResult.error("订单不存在");
        }
        //查询服务单
        ServiceOrder mingServiceOrder = serviceOrderService.selectServiceOrderById(Long.valueOf(orderDetail.getServiceOrdID()));
@@ -260,9 +264,16 @@
        medicalInfo.put("useVentilator", useVentilator);
        //支付信息
//        List<PayInfo> payInfoList = payInfoService.selectPayInfoByServiceOrdIDDt(orderDetail.getServiceOrdID()); //正式使用
        List<PayInfo> payInfoList = payInfoService.selectPayInfoByServiceOrdIDDt("1016302788");//测试使用
        List<PayInfo> payInfoList = new ArrayList<>();
        if(serviceOrdId==88801)
        {
            //测试数据
            payInfoList = payInfoService.selectPayInfoByServiceOrdIDDt("1016302788");//测试使用
        }
        else{
            payInfoList = payInfoService.selectPayInfoByServiceOrdIDDt(orderDetail.getServiceOrdID()); //正式使用
        }
        //其他信息
        Map<String, Object> otherInfo = new HashMap<>();
@@ -270,14 +281,32 @@
        otherInfo.put("serviceOrdVisit", Objects.toString(mingServiceOrder.getServiceOrdVisit(), "-"));
        //知情同意书
        // List<String> imageUrls = dispatchOrdService.selectImageUrlsByDOrdIDDt(orderDetail.getServiceOrdID());  //正式使用
        List<String> imageUrls = new ArrayList<>();//测试使用
        imageUrls.add("https://sys.966120.com.cn/upload/202505/3016127678_3VhEv_VVql2K6eM9tS9uXgKv8fm7vaKtrSFCiP0SraTgz2qe1isgvIuUrqSNv-XgEvdC5kFUxeyrn_wz8Mfc2Sg.jpg");
        imageUrls.add("https://sys.966120.com.cn/upload/202505/3016127678_3cDOPpqc_fzEJ-dHz8lq5aIx3tsnmEtossC6F5VCi2vj6sBwkuzOx4g1RcsWnQ3XNua7COADksYI1rHnbizccOw.jpg");
        otherInfo.put("imageUrls", imageUrls);
        if(serviceOrdId==88801)
        {
            //测试数据
            imageUrls.add("https://sys.966120.com.cn/upload/202505/3016127678_3VhEv_VVql2K6eM9tS9uXgKv8fm7vaKtrSFCiP0SraTgz2qe1isgvIuUrqSNv-XgEvdC5kFUxeyrn_wz8Mfc2Sg.jpg");
            imageUrls.add("https://sys.966120.com.cn/upload/202505/3016127678_3cDOPpqc_fzEJ-dHz8lq5aIx3tsnmEtossC6F5VCi2vj6sBwkuzOx4g1RcsWnQ3XNua7COADksYI1rHnbizccOw.jpg");
            otherInfo.put("imageUrls", imageUrls);
        }
        else{
            imageUrls = dispatchOrdService.selectImageUrlsByDOrdIDDt(orderDetail.getServiceOrdID());  //正式使用
            otherInfo.put("imageUrls", imageUrls);
        }
        //发票获取
        Map<String, Object> invoiceInfo = payInfoService.selectLatestInvoiceInfo("1016302788");
        Map<String, Object> invoiceInfo = new HashMap<>();
        if(serviceOrdId==88801)
        {
            //测试数据
            invoiceInfo = payInfoService.selectLatestInvoiceInfo("1016302788");
        }
        else{
            invoiceInfo = payInfoService.selectLatestInvoiceInfo(orderDetail.getServiceOrdID()); //正式使用
        }
        String invoiceStatus = "";
        if (invoiceInfo != null && invoiceInfo.get("AuditStatus") != null) {
            switch (String.valueOf(invoiceInfo.get("AuditStatus"))) {
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/TbOrdersController.java
@@ -186,18 +186,18 @@
        model.setPtName(tbOrders.getPatientName()); // 患者姓名
        model.setPtAge(tbOrders.getAge()); // 随机生成患者年龄
        model.setPtSex(tbOrders.getSex() == 1 ? "男" : "女"); // 随机生成患者性别
//        model.setPtNat("中国"); // 设置患者国籍
//        model.setPtNat("中国"); // 设置患者国籍--默认中国,不需要设置
        model.setOutHosp(tbOrders.getLocalAddress()); // 设置转出医院
        model.setInHosp(tbOrders.getSendAddress()); // 设置转入医院
//        model.setPtServices("科室" + (int) (Math.random() * 10)); // 随机设置患者所在科室
//        model.setPtServices("科室")); // 设置患者所在科室
        model.setPtDiagnosis(tbOrders.getComplaint()); // 设置诊断信息
        model.setCondition(tbOrders.getRemark()); // 设置备注信息
//        model.setDoctor("医生" + (int) (Math.random() * 10)); // 随机设置患者医生
//        model.setDoctorPhone("13" + (int) (Math.random() * 900000000 + 100000000)); // 随机生成患者医生电话
        model.setOfferPrice(tbOrders.getBookingPrice().doubleValue()); // 随机生成报价
//        model.setReferrals("推介人" + (int) (Math.random() * 10)); // 随机设置推介人信息
//        model.setUnitRemarks("商户随机备注信息"); // 随机设置商户备注
//        model.setPayQRcodeURL("https://example.com/qrcode/" + (int) (Math.random() * 100)); // 随机生成外部支付二维码链接
//        model.setDoctor("医生")); // 设置患者医生--没有医生信息
//        model.setDoctorPhone("")); // 设置患者医生电话--没有医生电话
        model.setOfferPrice(tbOrders.getBookingPrice().doubleValue()); // 报价
//        model.setReferrals("推介人")); // 设置推介人信息--没有推介人信息
//        model.setUnitRemarks("商户备注信息"); // 设置商户备注--没有商户备注
//        model.setPayQRcodeURL("https://example.com/qrcode/")); // 外部支付二维码链接--用不到
        ServiceOrderAppResultVo result = ServiceOrderUtil.CreateServiceOrder(model);
ruoyi-ui/src/api/system/order.js
@@ -61,10 +61,11 @@
  })
}
// 查询订单详情
export function getOrderDetail(orderId) {
// 查询订单详细
export function getOrderDetail(orderId, params) {
  return request({
    url: '/system/order/' + orderId,
    method: 'get'
    method: 'get',
    params: params
  })
}
}
ruoyi-ui/src/views/system/order/detail.vue
@@ -45,10 +45,10 @@
            <div slot="header"><b>服务要求</b></div>
            <el-descriptions :column="1" border>
              <el-descriptions-item label="出发地">{{ serviceInfo.startAddress }}</el-descriptions-item>
              <el-descriptions-item label="出发地位置">{{ serviceInfo.startLocation }}</el-descriptions-item>
              <!-- <el-descriptions-item label="出发地位置">{{ serviceInfo.startLocation }}</el-descriptions-item> -->
              <el-descriptions-item label="目的地">{{ serviceInfo.endAddress }}</el-descriptions-item>
              <el-descriptions-item label="目的地位置">{{ serviceInfo.endLocation }}</el-descriptions-item>
              <el-descriptions-item label="转运里程">{{ serviceInfo.distance }}</el-descriptions-item>
              <!-- <el-descriptions-item label="目的地位置">{{ serviceInfo.endLocation }}</el-descriptions-item> -->
              <el-descriptions-item label="转运里程">{{ serviceInfo.distance }} 公里</el-descriptions-item>
              <el-descriptions-item label="搬抬服务">{{ serviceInfo.liftService }}</el-descriptions-item>
              <el-descriptions-item label="搬抬楼层">{{ serviceInfo.liftFloor }}</el-descriptions-item>
              <el-descriptions-item label="医护要求">{{ serviceInfo.medicalStaff }}</el-descriptions-item>
@@ -168,8 +168,19 @@
    }
  },
  created() {
    // 获取路由参数中的订单ID
    const orderId = this.$route.params.id
    this.getDetail(orderId)
    // 获取URL查询参数
    const urlParams = new URLSearchParams(window.location.search)
    const params = {
      appId: urlParams.get('appId'),
      timestamp: urlParams.get('timestamp'),
      sign: urlParams.get('sign')
    }
    // 调用获取详情方法,传入所有参数
    this.getDetail(orderId, params)
    // 监听窗口大小变化
    window.addEventListener('resize', this.handleResize)
  },
@@ -179,8 +190,8 @@
  },
  methods: {
    /** 获取订单详情 */
    getDetail(orderId) {
      getOrderDetail(orderId).then(response => {
    getDetail(orderId, params) {
      getOrderDetail(orderId, params).then(response => {
        const { data } = response
        // 根据后端返回的数据结构设置各个对象的值
        this.orderInfo = data.orderInfo || {}
sql/SqlServer.A_OrderStatus.sql
New file
@@ -0,0 +1,22 @@
USE [came]
GO
/****** Object:  Table [dbo].[A_OrderStatus]    Script Date: 2025/5/4 17:00:42 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[A_OrderStatus](
    [id] [int] IDENTITY(1,1) NOT NULL,
    [serviceOrdID] [nvarchar](50) NULL,
    [msg] [nvarchar](50) NULL,
    [updateTime] [datetime] NULL,
    [flag] [int] NOT NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[A_OrderStatus] ADD  CONSTRAINT [DF_tb_OrderStatus_flag]  DEFAULT ((0)) FOR [flag]
GO