根据订单编号查询专家咨询订单详情

This commit is contained in:
HaoWang 2023-11-16 16:44:17 +08:00
parent 1b7e104213
commit a74e535fc5
7 changed files with 168 additions and 15 deletions

View File

@ -115,7 +115,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
.antMatchers("/login", "/register", "/captchaImage").anonymous()
// 静态资源可匿名访问
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
.antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**", "/nurseApplet/**", "/nurseApp/**", "/specialDisease/getUserInfo", "/monitor/payTask/handCloseOrder", "/newApp/login/**", "/system/hospitalPerson/**", "/evaluate/**", "/webSocket/**").permitAll()
.antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**", "/nurseApplet/**", "/nurseApp/**", "/specialDisease/getUserInfo", "/monitor/payTask/handCloseOrder", "/newApp/login/**", "/system/hospitalPerson/**", "/evaluate/**", "/webSocket/**", "/nurseApplet/nursingOrder/getConsultationOrder").permitAll()
.antMatchers(antMatchers.split(",")).permitAll()
// 除上面外的所有请求全部需要鉴权认证
.anyRequest().authenticated()

View File

@ -18,11 +18,7 @@ import java.util.List;
import java.util.Objects;
import javax.annotation.Resource;
import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
/**
* @Description 个人中心订单页面
@ -61,6 +57,17 @@ public class NursingOrderController extends BaseController {
return getDataTable(goodsOrder);
}
/**
* 根据订单编号查询专家咨询订单详情
*/
@GetMapping("/getConsultationOrder")
public AjaxResult getConsultationOrder(@RequestParam("orderNo") String orderNo) {
if (StringUtils.isBlank(orderNo)) {
return AjaxResult.error("订单编号不能为空!");
}
return AjaxResult.success(nursingOrderService.getConsultationOrder(orderNo));
}
/**
* 查询退款原因
*/

View File

@ -2,6 +2,7 @@ package com.xinelu.applet.mapper.nursingorder;
import com.xinelu.applet.vo.nursingorder.AppletGoodsOrderVO;
import com.xinelu.applet.vo.nursingorder.ConsultationGoodVO;
import com.xinelu.applet.vo.nursingorder.NursingOrderInfoVO;
import com.xinelu.applet.vo.nursingorder.PatientOrder;
import com.xinelu.applet.vo.specialdisease.AppointmentOrderDetailsInfoVO;
@ -34,6 +35,14 @@ public interface NursingOrderMapper {
**/
List<AppletGoodsOrderVO> getGoodsOrder(AppletGoodsOrderVO goodsOrderVO);
/**
* 根据订单编号查询专家咨询订单详情
*
* @param orderNo 订单信息
* @return ConsultationGoodVO
**/
ConsultationGoodVO getConsultationOrder(String orderNo);
/**
* 查询退款原因
*

View File

@ -4,6 +4,7 @@ package com.xinelu.applet.service.nursingorder;
import com.alibaba.fastjson2.JSONObject;
import com.xinelu.applet.dto.nurseorder.NurseOrderDTO;
import com.xinelu.applet.vo.nursingorder.AppletGoodsOrderVO;
import com.xinelu.applet.vo.nursingorder.ConsultationGoodVO;
import com.xinelu.applet.vo.nursingorder.NursingOrderInfoVO;
import com.xinelu.common.core.domain.AjaxResult;
import com.xinelu.common.core.domain.entity.SysDictData;
@ -35,6 +36,13 @@ public interface INursingOrderService {
**/
List<AppletGoodsOrderVO> getGoodsOrder(AppletGoodsOrderVO goodsOrderVO);
/**
* 根据订单编号查询专家咨询订单详情
*
* @param orderNo 订单编号
**/
ConsultationGoodVO getConsultationOrder(String orderNo);
/**
* 查询退款原因
*

View File

@ -6,10 +6,7 @@ import com.github.pagehelper.PageInfo;
import com.xinelu.applet.dto.nurseorder.NurseOrderDTO;
import com.xinelu.applet.mapper.nursingorder.NursingOrderMapper;
import com.xinelu.applet.service.nursingorder.INursingOrderService;
import com.xinelu.applet.vo.nursingorder.AppletGoodsOrderVO;
import com.xinelu.applet.vo.nursingorder.NursingOrderInfoVO;
import com.xinelu.applet.vo.nursingorder.PatientOrder;
import com.xinelu.applet.vo.nursingorder.PatientOrderVO;
import com.xinelu.applet.vo.nursingorder.*;
import com.xinelu.applet.vo.specialdisease.AppointmentOrderDetailsInfoVO;
import com.xinelu.common.constant.HttpStatus;
import com.xinelu.common.core.domain.AjaxResult;
@ -94,6 +91,16 @@ public class NursingOrderServiceImpl implements INursingOrderService {
return nursingOrderMapper.getGoodsOrder(goodsOrderVO);
}
/**
* 根据订单编号查询专家咨询订单详情
*
* @param orderNo 订单编号
**/
@Override
public ConsultationGoodVO getConsultationOrder(String orderNo) {
return nursingOrderMapper.getConsultationOrder(orderNo);
}
/**
* 查询退款原因
*

View File

@ -0,0 +1,93 @@
package com.xinelu.applet.vo.nursingorder;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalTime;
import java.util.Date;
/**
* @author wanghao
* @create 2023/11/16 0016
*/
@Data
public class ConsultationGoodVO implements Serializable {
private static final long serialVersionUID = 2987821430791956037L;
/**
* 订单编号
*/
private String orderNo;
/**
* 订单类型
*/
private String buySource;
/**
* 预约总价格单位
*/
private BigDecimal totalPrice;
/**
* 科室人员头像地址
*/
private String personPictureUrl;
/**
* 科室人员联系电话
*/
private String personPhone;
/**
* 人员职称主任医师CHIEF_PHYSICIAN副主任医师DEPUTY_CHIEF_PHYSICIAN主治医师ATTENDING_DOCTOR医师PHYSICIAN医士HEALER住院医师RESIDENT_PHYSICIAN
*/
private String academicTitle;
/**
* 健康咨询专家名称健康咨询类型的订单使用
*/
private String hospitalPersonName;
/**
* 预约日期(视频问诊预约)时间格式yyyy-MM-dd
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private Date appointmentDate;
/**
* 预约开始时间点(视频问诊预约)时间格式HH:mm
*/
@JsonFormat(pattern = "HH:mm")
private LocalTime appointmentStartTime;
/**
* 预约结束时间点(视频问诊预约)时间格式HH:mm
*/
@JsonFormat(pattern = "HH:mm")
private LocalTime appointmentEndTime;
/**
* 问题简述
*/
private String problemDescription;
/**
* 患者个体情况说明
*/
private String situationDescription;
/**
* 问题描述
*/
private String problemStatement;
/**
* 病历
*/
private String medicalRecord;
}

View File

@ -173,6 +173,35 @@
</where>
ORDER BY gr.order_time DESC
</select>
<select id="getConsultationOrder" parameterType="string"
resultType="com.xinelu.applet.vo.nursingorder.ConsultationGoodVO">
SELECT
gr.order_no,
gr.buy_source,
gr.total_price,
IF( gr.order_type = 'HEALTH_CONSULTATION',
(SELECT person_picture_url FROM hospital_person_info WHERE id =gr.hospital_person_id ), NULL ) personPictureUrl,
IF( gr.order_type = 'HEALTH_CONSULTATION', ( SELECT person_phone FROM hospital_person_info WHERE id =gr.hospital_person_id ), NULL ) personPhone,
IF( gr.order_type = 'HEALTH_CONSULTATION', ( SELECT academic_title FROM hospital_person_info WHERE id = gr.hospital_person_id ), NULL ) academicTitle,
gr.hospital_person_name,
ci.problem_description,
ci.situation_description,
ci.problem_statement,
ci.medical_record,
ci.appointment_date,
ci.appointment_start_time,
ci.appointment_end_time
FROM
goods_order gr
LEFT JOIN hospital_person_info hpi on hpi.id = gr.hospital_person_id
LEFT JOIN consultation_info ci ON ci.id =gr.consultation_info_id
<where>
<if test="orderNo != null and orderNo != ''">
and gr.order_no = #{orderNo}
</if>
</where>
and gr.del_flag = 0
</select>
<select id="getRefundReason" parameterType="com.xinelu.common.core.domain.entity.SysDictData"
resultType="com.xinelu.common.core.domain.entity.SysDictData">