Merge branch 'jihan_0920_护理服务、商城、积分兑换、在线问诊功能分支' of http://182.92.166.109:3000/jihan/xinelu-api into jihan_0920_护理服务、商城、积分兑换、在线问诊功能分支

This commit is contained in:
haown 2023-11-16 17:21:07 +08:00
commit be47cef382
15 changed files with 226 additions and 85 deletions

View File

@ -115,7 +115,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
.antMatchers("/login", "/register", "/captchaImage").anonymous() .antMatchers("/login", "/register", "/captchaImage").anonymous()
// 静态资源可匿名访问 // 静态资源可匿名访问
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll() .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() .antMatchers(antMatchers.split(",")).permitAll()
// 除上面外的所有请求全部需要鉴权认证 // 除上面外的所有请求全部需要鉴权认证
.anyRequest().authenticated() .anyRequest().authenticated()

View File

@ -18,11 +18,7 @@ import java.util.List;
import java.util.Objects; import java.util.Objects;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
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;
/** /**
* @Description 个人中心订单页面 * @Description 个人中心订单页面
@ -61,6 +57,17 @@ public class NursingOrderController extends BaseController {
return getDataTable(goodsOrder); 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.AppletGoodsOrderVO;
import com.xinelu.applet.vo.nursingorder.ConsultationGoodVO;
import com.xinelu.applet.vo.nursingorder.NursingOrderInfoVO; import com.xinelu.applet.vo.nursingorder.NursingOrderInfoVO;
import com.xinelu.applet.vo.nursingorder.PatientOrder; import com.xinelu.applet.vo.nursingorder.PatientOrder;
import com.xinelu.applet.vo.specialdisease.AppointmentOrderDetailsInfoVO; import com.xinelu.applet.vo.specialdisease.AppointmentOrderDetailsInfoVO;
@ -34,6 +35,14 @@ public interface NursingOrderMapper {
**/ **/
List<AppletGoodsOrderVO> getGoodsOrder(AppletGoodsOrderVO goodsOrderVO); 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.alibaba.fastjson2.JSONObject;
import com.xinelu.applet.dto.nurseorder.NurseOrderDTO; import com.xinelu.applet.dto.nurseorder.NurseOrderDTO;
import com.xinelu.applet.vo.nursingorder.AppletGoodsOrderVO; 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.NursingOrderInfoVO;
import com.xinelu.common.core.domain.AjaxResult; import com.xinelu.common.core.domain.AjaxResult;
import com.xinelu.common.core.domain.entity.SysDictData; import com.xinelu.common.core.domain.entity.SysDictData;
@ -35,6 +36,13 @@ public interface INursingOrderService {
**/ **/
List<AppletGoodsOrderVO> getGoodsOrder(AppletGoodsOrderVO goodsOrderVO); List<AppletGoodsOrderVO> getGoodsOrder(AppletGoodsOrderVO goodsOrderVO);
/**
* 根据订单编号查询专家咨询订单详情
*
* @param orderNo 订单编号
**/
ConsultationGoodVO getConsultationOrder(String orderNo);
/** /**
* 查询退款原因 * 查询退款原因
* *
@ -67,5 +75,5 @@ public interface INursingOrderService {
*/ */
TableDataInfo getAppletOrderList(NurseOrderDTO nurseOrder); TableDataInfo getAppletOrderList(NurseOrderDTO nurseOrder);
JSONObject pushMeg(Long orderId, Long patientId); JSONObject pushMeg(Long orderId, Long patientId);
} }

View File

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

View File

@ -399,6 +399,17 @@ public class WeChatPayNotifyServiceImpl implements WeChatPayNotifyService {
log.info("微信退款通知,记录商品订单微信退款单信息失败,订单编号 =====> {}", refundNotifyVO.getOutTradeNo()); log.info("微信退款通知,记录商品订单微信退款单信息失败,订单编号 =====> {}", refundNotifyVO.getOutTradeNo());
} }
} }
//处理专家咨询订单-医生拒单退款信息
if (RefundStatusEnum.SUCCESS.getInfo().equals(refundNotifyVO.getRefundStatus())
&& StringUtils.isNotBlank(detailsOrderInfo.getOrderStatus())
&& GooodsOrderStatusEnum.REFUNDED.getInfo().equals(detailsOrderInfo.getOrderStatus())
&& OrderTypeEnum.HEALTH_CONSULTATION.getInfo().equals(detailsOrderInfo.getOrderType())) {
RefundInfo refundInfo = buildRefundInfo(plainText, refundNotifyVO);
int refundCount = refundInfoMapper.updateRefundInfoByNo(refundInfo);
if (refundCount < 1) {
log.info("微信退款通知,记录专家咨询订单微信退款单信息失败,订单编号 =====> {}", refundNotifyVO.getOutTradeNo());
}
}
if (RefundStatusEnum.CLOSED.getInfo().equals(refundNotifyVO.getRefundStatus())) { if (RefundStatusEnum.CLOSED.getInfo().equals(refundNotifyVO.getRefundStatus())) {
log.info("当前商品退款单已经关闭,订单号 ====> {}, 退款单号 =====> {}", refundNotifyVO.getOutTradeNo(), refundNotifyVO.getOutRefundNo()); log.info("当前商品退款单已经关闭,订单号 ====> {}, 退款单号 =====> {}", refundNotifyVO.getOutTradeNo(), refundNotifyVO.getOutRefundNo());
} }

View File

@ -10,14 +10,7 @@ import com.xinelu.applet.vo.wechatpaymentinfo.vo.WeChatRefundInfoVO;
import com.xinelu.common.config.WeChatPaymentUrlConfig; import com.xinelu.common.config.WeChatPaymentUrlConfig;
import com.xinelu.common.config.XylWeChatPaymentConfig; import com.xinelu.common.config.XylWeChatPaymentConfig;
import com.xinelu.common.core.domain.AjaxResult; import com.xinelu.common.core.domain.AjaxResult;
import com.xinelu.common.enums.ConfirmRefundStatusEnum; import com.xinelu.common.enums.*;
import com.xinelu.common.enums.GooodsOrderStatusEnum;
import com.xinelu.common.enums.IntegralChangeType;
import com.xinelu.common.enums.OrderStatusEnum;
import com.xinelu.common.enums.OrderTypeEnum;
import com.xinelu.common.enums.PaymentMerchantTypeEnum;
import com.xinelu.common.enums.RefundStatusEnum;
import com.xinelu.common.enums.RefundTypeEnum;
import com.xinelu.common.exception.ServiceException; import com.xinelu.common.exception.ServiceException;
import com.xinelu.manage.domain.appointmentorder.AppointmentOrder; import com.xinelu.manage.domain.appointmentorder.AppointmentOrder;
import com.xinelu.manage.domain.goodsOrder.GoodsOrder; import com.xinelu.manage.domain.goodsOrder.GoodsOrder;
@ -34,13 +27,6 @@ import com.xinelu.manage.service.consultationInfo.IConsultationInfoService;
import com.xinelu.manage.service.scheduleplandetail.ISchedulePlanDetailService; import com.xinelu.manage.service.scheduleplandetail.ISchedulePlanDetailService;
import com.xinelu.manage.vo.goodsorder.GoodsInfoRedemptionVO; import com.xinelu.manage.vo.goodsorder.GoodsInfoRedemptionVO;
import com.xinelu.manage.vo.patientinfo.PatientInfoVO; import com.xinelu.manage.vo.patientinfo.PatientInfoVO;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Objects;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.CloseableHttpResponse;
@ -52,6 +38,14 @@ import org.apache.http.util.EntityUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Objects;
/** /**
* @Description 微信退款业务层实现类 * @Description 微信退款业务层实现类
* @Author 纪寒 * @Author 纪寒
@ -80,10 +74,10 @@ public class WeChatRefundServiceImpl implements WeChatRefundService {
private PatientIntegralChangeMapper patientIntegralChangeMapper; private PatientIntegralChangeMapper patientIntegralChangeMapper;
@Resource @Resource
private PatientInfoMapper patientInfoMapper; private PatientInfoMapper patientInfoMapper;
@Resource @Resource
private IConsultationInfoService consultationInfoService; private IConsultationInfoService consultationInfoService;
@Resource @Resource
private ISchedulePlanDetailService planDetailService; private ISchedulePlanDetailService planDetailService;
/** /**
* 成功状态码 * 成功状态码
@ -245,24 +239,25 @@ public class WeChatRefundServiceImpl implements WeChatRefundService {
if (Objects.isNull(goodsOrderInfo.getTotalPrice()) || goodsOrderInfo.getTotalPrice().compareTo(BigDecimal.ZERO) <= 0) { if (Objects.isNull(goodsOrderInfo.getTotalPrice()) || goodsOrderInfo.getTotalPrice().compareTo(BigDecimal.ZERO) <= 0) {
return AjaxResult.error("当前订单金额异常,无法拒单!"); return AjaxResult.error("当前订单金额异常,无法拒单!");
} }
//直接将订单状态修改为已退款因为微信支付回调有延迟导致医生APP端拒单以后订单状态无法及时刷新
goodsOrderMapper.updateGoodsOrderStatus(OrderStatusEnum.REFUNDED.getInfo(), closeOrderDTO.getOrderNo());
Long patientId = Objects.isNull(goodsOrderInfo.getPatientId()) ? 0 : goodsOrderInfo.getPatientId(); Long patientId = Objects.isNull(goodsOrderInfo.getPatientId()) ? 0 : goodsOrderInfo.getPatientId();
String outRefundNo = com.xinelu.common.utils.StringUtils.fillZeroByPatientId(patientId, 5) + System.nanoTime(); String outRefundNo = com.xinelu.common.utils.StringUtils.fillZeroByPatientId(patientId, 5) + System.nanoTime();
String refundParam = this.buildHealthConsultationRefundParam(goodsOrderInfo, outRefundNo); String refundParam = this.buildHealthConsultationRefundParam(goodsOrderInfo, outRefundNo);
String refundReason = StringUtils.isBlank(closeOrderDTO.getRemark()) ? "" : closeOrderDTO.getRemark(); String refundReason = StringUtils.isBlank(closeOrderDTO.getRemark()) ? "" : closeOrderDTO.getRemark();
this.applyWeRefund(refundParam, null, goodsOrderInfo, patientId, refundReason); this.applyWeRefund(refundParam, null, goodsOrderInfo, patientId, refundReason);
// 查询是否为专家咨询订单修改时间段的可预约状态 // 查询是否为专家咨询订单修改时间段的可预约状态
GoodsOrder goodsOrder = goodsOrderMapper.getGoodsOrderByOrderNo(closeOrderDTO.getOrderNo()); if (goodsOrderInfo.getConsultationInfoId() != null) {
if (goodsOrder.getConsultationInfoId() != null) { ConsultationInfoDTO consultationInfo = consultationInfoService.selectConsultationInfoById(goodsOrderInfo.getConsultationInfoId());
ConsultationInfoDTO consultationInfo = consultationInfoService.selectConsultationInfoById(goodsOrder.getConsultationInfoId()); if (consultationInfo != null && consultationInfo.getSchedulePlanDetailId() != null) {
if (consultationInfo != null && consultationInfo.getSchedulePlanDetailId() != null) { // 修改预约时间段的状态
// 修改预约时间段的状态 SchedulePlanDetail schedulePlanDetail = new SchedulePlanDetail();
SchedulePlanDetail schedulePlanDetail = new SchedulePlanDetail(); schedulePlanDetail.setId(consultationInfo.getSchedulePlanDetailId());
schedulePlanDetail.setId(consultationInfo.getSchedulePlanDetailId()); schedulePlanDetail.setApplyState("0");
schedulePlanDetail.setApplyState("0"); planDetailService.update(schedulePlanDetail);
planDetailService.update(schedulePlanDetail); }
} }
} return AjaxResult.success();
return AjaxResult.success();
} }
/** /**

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> </where>
ORDER BY gr.order_time DESC ORDER BY gr.order_time DESC
</select> </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" <select id="getRefundReason" parameterType="com.xinelu.common.core.domain.entity.SysDictData"
resultType="com.xinelu.common.core.domain.entity.SysDictData"> resultType="com.xinelu.common.core.domain.entity.SysDictData">

View File

@ -6,9 +6,6 @@ import com.xinelu.common.custominterface.Insert;
import com.xinelu.common.custominterface.Update; import com.xinelu.common.custominterface.Update;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import java.util.Objects;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
@ -16,10 +13,14 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle; import org.apache.commons.lang3.builder.ToStringStyle;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Objects;
/** /**
* 科室信息管理对象 hospital_department_info * 科室信息管理对象 hospital_department_info
* *
* @author zh * @author
* @date 2023-02-13 * @date 2023-02-13
*/ */
@Data @Data
@ -85,7 +86,7 @@ public class HospitalDepartmentInfo extends BaseDomain {
*/ */
@ApiModelProperty(value = "科室负责人名称") @ApiModelProperty(value = "科室负责人名称")
@Excel(name = "科室负责人名称") @Excel(name = "科室负责人名称")
@Length(max = 20, message = "科室负责人名称不能超过20位", groups = { Insert.class, Update.class}) @Length(max = 20, message = "科室负责人名称不能超过20位", groups = {Insert.class, Update.class})
private String departmentPerson; private String departmentPerson;
/** /**
@ -93,7 +94,6 @@ public class HospitalDepartmentInfo extends BaseDomain {
*/ */
@ApiModelProperty(value = "科室地址") @ApiModelProperty(value = "科室地址")
@Excel(name = "科室地址") @Excel(name = "科室地址")
@NotBlank(message = "科室地址不能为空", groups = {Insert.class, Update.class})
@Length(max = 300, message = "科室地址不能超过300位", groups = {Insert.class, Update.class}) @Length(max = 300, message = "科室地址不能超过300位", groups = {Insert.class, Update.class})
private String departmentAddress; private String departmentAddress;

View File

@ -6,9 +6,6 @@ import com.xinelu.common.custominterface.Insert;
import com.xinelu.common.custominterface.Update; import com.xinelu.common.custominterface.Update;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@ -17,6 +14,9 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle; import org.apache.commons.lang3.builder.ToStringStyle;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
/** /**
* 健康咨询-医院信息对象 hospital_info * 健康咨询-医院信息对象 hospital_info
* *
@ -41,7 +41,7 @@ public class HospitalInfo extends BaseDomain implements Serializable {
*/ */
@ApiModelProperty(value = "医院名称") @ApiModelProperty(value = "医院名称")
@Excel(name = "医院名称") @Excel(name = "医院名称")
@NotBlank(message = "医院名称不能为空", groups = { Insert.class, Update.class}) @NotBlank(message = "医院名称不能为空", groups = {Insert.class, Update.class})
@Length(max = 50, message = "医院名称不能超过50位", groups = {Insert.class, Update.class}) @Length(max = 50, message = "医院名称不能超过50位", groups = {Insert.class, Update.class})
private String hospitalName; private String hospitalName;
@ -57,7 +57,6 @@ public class HospitalInfo extends BaseDomain implements Serializable {
*/ */
@ApiModelProperty(value = "医院地址") @ApiModelProperty(value = "医院地址")
@Excel(name = "医院地址") @Excel(name = "医院地址")
@NotBlank(message = "医院地址不能为空", groups = {Insert.class, Update.class})
@Length(max = 300, message = "医院地址不能超过300位", groups = {Insert.class, Update.class}) @Length(max = 300, message = "医院地址不能超过300位", groups = {Insert.class, Update.class})
private String hospitalAddress; private String hospitalAddress;
@ -66,7 +65,6 @@ public class HospitalInfo extends BaseDomain implements Serializable {
*/ */
@ApiModelProperty(value = "联系电话,手机号或者座机") @ApiModelProperty(value = "联系电话,手机号或者座机")
@Excel(name = "联系电话,手机号或者座机") @Excel(name = "联系电话,手机号或者座机")
@NotBlank(message = "联系电话不能为空", groups = {Insert.class, Update.class})
private String phone; private String phone;
/** /**
@ -74,7 +72,6 @@ public class HospitalInfo extends BaseDomain implements Serializable {
*/ */
@ApiModelProperty(value = "医院简介,包含基本信息和医院图片富文本") @ApiModelProperty(value = "医院简介,包含基本信息和医院图片富文本")
@Excel(name = "医院简介,包含基本信息和医院图片富文本") @Excel(name = "医院简介,包含基本信息和医院图片富文本")
@NotBlank(message = "医院简介不能为空", groups = {Insert.class, Update.class})
private String hospitalIntroduce; private String hospitalIntroduce;
/** /**
@ -82,7 +79,6 @@ public class HospitalInfo extends BaseDomain implements Serializable {
*/ */
@ApiModelProperty(value = "显示顺序") @ApiModelProperty(value = "显示顺序")
@Excel(name = "显示顺序") @Excel(name = "显示顺序")
@NotNull(message = "显示顺序不能为空", groups = {Insert.class, Update.class})
private Integer hospitalSort; private Integer hospitalSort;
/** /**
@ -91,8 +87,8 @@ public class HospitalInfo extends BaseDomain implements Serializable {
@ApiModelProperty(value = "家医机构编号") @ApiModelProperty(value = "家医机构编号")
private String orgCode; private String orgCode;
@ApiModelProperty(value = "医院类型,1:家医机构2齐鲁名医机构3专病机构") @ApiModelProperty(value = "医院类型,1:家医机构2齐鲁名医机构3专病机构")
private String category; private String category;
@Override @Override
public String toString() { public String toString() {
@ -104,8 +100,8 @@ public class HospitalInfo extends BaseDomain implements Serializable {
.append("phone", getPhone()) .append("phone", getPhone())
.append("hospitalIntroduce", getHospitalIntroduce()) .append("hospitalIntroduce", getHospitalIntroduce())
.append("hospitalSort", getHospitalSort()) .append("hospitalSort", getHospitalSort())
.append("orgCode", getOrgCode()) .append("orgCode", getOrgCode())
.append("category", getCategory()) .append("category", getCategory())
.append("createBy", getCreateBy()) .append("createBy", getCreateBy())
.append("createTime", getCreateTime()) .append("createTime", getCreateTime())
.append("updateBy", getUpdateBy()) .append("updateBy", getUpdateBy())

View File

@ -51,7 +51,6 @@ public class HospitalPersonInfo extends BaseDomain implements Serializable {
*/ */
@ApiModelProperty(value = "所属部门id") @ApiModelProperty(value = "所属部门id")
@Excel(name = "所属部门id") @Excel(name = "所属部门id")
@NotNull(message = "所属部门不能为空!", groups = {Insert.class, Update.class})
private Long departmentId; private Long departmentId;
/** /**
@ -75,7 +74,6 @@ public class HospitalPersonInfo extends BaseDomain implements Serializable {
*/ */
@ApiModelProperty(value = "科室人员联系电话") @ApiModelProperty(value = "科室人员联系电话")
@Excel(name = "科室人员联系电话") @Excel(name = "科室人员联系电话")
@NotBlank(message = "科室人员联系电话不能为空!", groups = {Insert.class, Update.class})
private String personPhone; private String personPhone;
/** /**
@ -83,7 +81,6 @@ public class HospitalPersonInfo extends BaseDomain implements Serializable {
*/ */
@ApiModelProperty(value = "科室人员地址") @ApiModelProperty(value = "科室人员地址")
@Excel(name = "科室人员地址") @Excel(name = "科室人员地址")
@NotBlank(message = "科室人员地址不能为空!", groups = {Insert.class, Update.class})
@Length(max = 300, message = "科室人员地址不能超过300位", groups = {Insert.class, Update.class}) @Length(max = 300, message = "科室人员地址不能超过300位", groups = {Insert.class, Update.class})
private String personAddress; private String personAddress;
@ -119,7 +116,6 @@ public class HospitalPersonInfo extends BaseDomain implements Serializable {
*/ */
@ApiModelProperty(value = "个人简介") @ApiModelProperty(value = "个人简介")
@Excel(name = "个人简介") @Excel(name = "个人简介")
@NotBlank(message = "个人简介不能为空!", groups = {Insert.class, Update.class})
private String personIntroduce; private String personIntroduce;
/** /**

View File

@ -114,12 +114,6 @@ public class HospitalPersonInfoServiceImpl implements IHospitalPersonInfoService
return AjaxResult.error("咨询费用不能为0或者负数请重新输入"); return AjaxResult.error("咨询费用不能为0或者负数请重新输入");
} }
//创建人 创建时间 科室人员编码 //创建人 创建时间 科室人员编码
if (StringUtils.equals("2", hospitalPersonInfo.getStatus()) && StringUtils.isBlank(hospitalPersonInfo.getPersonAccount())){
hospitalPersonInfo.setPersonAccount(hospitalPersonInfo.getPersonPhone());
}
if (StringUtils.equals("2", hospitalPersonInfo.getStatus()) && StringUtils.isBlank(hospitalPersonInfo.getPersonPassword())){
hospitalPersonInfo.setPersonPassword("Abc@123");
}
hospitalPersonInfo.setPersonCode(Constants.PERSON_CODE + generateSystemCodeUtil.generateSystemCode(Constants.PERSON_CODE)); hospitalPersonInfo.setPersonCode(Constants.PERSON_CODE + generateSystemCodeUtil.generateSystemCode(Constants.PERSON_CODE));
hospitalPersonInfo.setCreateTime(LocalDateTime.now()); hospitalPersonInfo.setCreateTime(LocalDateTime.now());
hospitalPersonInfo.setCreateBy(SecurityUtils.getUsername()); hospitalPersonInfo.setCreateBy(SecurityUtils.getUsername());
@ -181,12 +175,6 @@ public class HospitalPersonInfoServiceImpl implements IHospitalPersonInfoService
return AjaxResult.error("咨询费用不能为0或者负数请重新输入"); return AjaxResult.error("咨询费用不能为0或者负数请重新输入");
} }
//修改人 修改时间 //修改人 修改时间
if (StringUtils.equals("2", hospitalPersonInfo.getStatus()) && StringUtils.isBlank(hospitalPersonInfo.getPersonAccount())){
hospitalPersonInfo.setPersonAccount(hospitalPersonInfo.getPersonPhone());
}
if (StringUtils.equals("2", hospitalPersonInfo.getStatus()) && StringUtils.isBlank(hospitalPersonInfo.getPersonPassword())){
hospitalPersonInfo.setPersonPassword("Abc@123");
}
hospitalPersonInfo.setUpdateTime(LocalDateTime.now()); hospitalPersonInfo.setUpdateTime(LocalDateTime.now());
hospitalPersonInfo.setUpdateBy(SecurityUtils.getUsername()); hospitalPersonInfo.setUpdateBy(SecurityUtils.getUsername());
hospitalPersonInfoMapper.updateHospitalPersonInfo(hospitalPersonInfo); hospitalPersonInfoMapper.updateHospitalPersonInfo(hospitalPersonInfo);

View File

@ -95,7 +95,7 @@
hpi.id, hpi.id,
hpi.hospital_id, hpi.hospital_id,
hpi.department_id, hpi.department_id,
hdi.hospital_name, hi.hospital_name,
hdi.department_name, hdi.department_name,
hpi.person_code, hpi.person_code,
hpi.person_name, hpi.person_name,
@ -111,10 +111,11 @@
hpi.create_time, hpi.create_time,
hpi.update_by, hpi.update_by,
hpi.update_time, hpi.update_time,
status hpi.status
FROM FROM
hospital_person_info hpi hospital_person_info hpi
LEFT JOIN hospital_department_info hdi ON hpi.department_id = hdi.id LEFT JOIN hospital_department_info hdi ON hpi.department_id = hdi.id
LEFT JOIN hospital_info hi ON hpi.hospital_id = hi.id
<where> <where>
<if test="hospitalId != null "> <if test="hospitalId != null ">
and hpi.hospital_id = #{hospitalId} and hpi.hospital_id = #{hospitalId}
@ -205,7 +206,7 @@
SELECT hpi.id, SELECT hpi.id,
hpi.hospital_id, hpi.hospital_id,
hpi.department_id, hpi.department_id,
hdi.hospital_name, hi.hospital_name,
hdi.department_name, hdi.department_name,
hpi.person_code, hpi.person_code,
hpi.person_name, hpi.person_name,
@ -233,6 +234,7 @@
FROM hospital_person_info hpi FROM hospital_person_info hpi
LEFT JOIN hospital_department_info hdi ON hpi.department_id = hdi.id LEFT JOIN hospital_department_info hdi ON hpi.department_id = hdi.id
LEFT JOIN hospital_person_certificate hpc ON hpi.id = hpc.hospital_person_id LEFT JOIN hospital_person_certificate hpc ON hpi.id = hpc.hospital_person_id
LEFT JOIN hospital_info hi ON hpi.hospital_id = hi.id
where hpi.id = #{id} where hpi.id = #{id}
</select> </select>

View File

@ -98,7 +98,7 @@ public class RefundInfoTaskServiceImpl implements RefundInfoTaskService {
*/ */
@Override @Override
public void automaticProcessHealthConsultationRefund() { public void automaticProcessHealthConsultationRefund() {
List<RefundOrderInfoVO> refundGoodsOrderLit = goodsOrderMapper.getRefundGoodsOrderInfo(GooodsOrderStatusEnum.WAIT_RECEIVED_GOODS.getInfo(), RefundStatusEnum.PROCESSING.getInfo(), ConfirmRefundStatusEnum.CONFIRMED.getInfo()); List<RefundOrderInfoVO> refundGoodsOrderLit = goodsOrderMapper.getRefundGoodsOrderInfo(GooodsOrderStatusEnum.REFUNDED.getInfo(), RefundStatusEnum.PROCESSING.getInfo(), ConfirmRefundStatusEnum.CONFIRMED.getInfo());
if (CollectionUtils.isEmpty(refundGoodsOrderLit)) { if (CollectionUtils.isEmpty(refundGoodsOrderLit)) {
return; return;
} }