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.utils.civilAviation.ServiceOrderUtil; 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; 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 com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.system.domain.TbOrders; import com.ruoyi.system.service.ITbOrdersService; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.core.page.TableDataInfo; /** * ordersController * * @author wzp * @date 2025-05-01 */ @RestController @RequestMapping("/system/orders") public class TbOrdersController extends BaseController { @Autowired private ITbOrdersService tbOrdersService; /** * 查询orders列表 */ @PreAuthorize("@ss.hasPermi('system:orders:list')") @GetMapping("/list") public TableDataInfo list(TbOrders tbOrders) { startPage(); List list = tbOrdersService.selectTbOrdersList(tbOrders); return getDataTable(list); } /** * 导出orders列表 */ @PreAuthorize("@ss.hasPermi('system:orders:export')") @Log(title = "orders", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, TbOrders tbOrders) { List list = tbOrdersService.selectTbOrdersList(tbOrders); ExcelUtil util = new ExcelUtil(TbOrders.class); util.exportExcel(response, list, "orders数据"); } /** * 获取orders详细信息 */ @PreAuthorize("@ss.hasPermi('system:orders:query')") @GetMapping(value = "/{OrderID}") public AjaxResult getInfo(@PathVariable("OrderID") Long OrderID) { return success(tbOrdersService.selectTbOrdersByOrderID(OrderID)); } /** * 提供外部接口可以调用 * @param tbOrders * @return */ // @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()); int insertNum = tbOrdersService.insertTbOrders(tbOrders); if(insertNum<1) { return AjaxResult.error("上传失败!"); } ServiceOrderAppVo model = new ServiceOrderAppVo(); model.setMethod("ServiceOrder_APP"); // 设置接口名称 model.setAppId("GDS-000001"); // 设置商户 APPID model.setOrdType(tbOrders.getTypeCode().intValue()); model.setCoPhone(tbOrders.getLinkTel()); // 客户联系电话 model.setCoName(tbOrders.getLinkPerson()); // 客户姓名 // model.setCoTies("家属"); // 随机设置客户联系人与患者关系 // 设置预约时间为一天后 Calendar calendar = Calendar.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd%20HH:mm"); model.setApptDate(sdf.format(tbOrders.getBookingDate())); // 格式化预约运送时间 model.setPtName(tbOrders.getPatientName()); // 患者姓名 model.setPtAge(tbOrders.getAge()); // 随机生成患者年龄 model.setPtSex(tbOrders.getSex() == 1 ? "男" : "女"); // 随机生成患者性别 // model.setPtNat("中国"); // 设置患者国籍 model.setOutHosp(tbOrders.getLocalAddress()); // 设置转出医院 model.setInHosp(tbOrders.getSendAddress()); // 设置转入医院 // model.setPtServices("科室" + (int) (Math.random() * 10)); // 随机设置患者所在科室 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)); // 随机生成外部支付二维码链接 ServiceOrderAppResultVo result = ServiceOrderUtil.CreateServiceOrder(model); if (result.getResult() == 1) { return AjaxResult.success(result); } else { return AjaxResult.error("提交失败"); } } catch (Exception e) { return AjaxResult.error("提交失败"); } } /** * 修改orders */ @PreAuthorize("@ss.hasPermi('system:orders:edit')") @Log(title = "orders", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody TbOrders tbOrders) { return toAjax(tbOrdersService.updateTbOrders(tbOrders)); } /** * 删除orders */ @PreAuthorize("@ss.hasPermi('system:orders:remove')") @Log(title = "orders", businessType = BusinessType.DELETE) @DeleteMapping("/{OrderIDs}") public AjaxResult remove(@PathVariable Long[] OrderIDs) { return toAjax(tbOrdersService.deleteTbOrdersByOrderIDs(OrderIDs)); } }