微信后端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

158 lines
7.0 KiB

package com.ynxbd.common.service.params;
import com.ynxbd.common.bean.pay.Register;
import com.ynxbd.common.result.ResultEnum;
import com.ynxbd.common.result.ServiceException;
import com.ynxbd.common.service.RegService;
import lombok.extern.slf4j.Slf4j;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
@Slf4j
public class RegParams {
/**
* * // * @param regFee 金额
* * // * @param clinicFee 金额
* * // * @param payMoney 金额
* * // * @param tel 电话
* * // * @param openid openid
* * // * @param idCardNo 身份证号码
* * // * @param patientId 患者id
* * // * @param deptCode 科室编码
* * // * @param deptName 科室名称
* * // * @param doctCode 医生编码
* * // * @param doctName 医生名
* * // * @param address 地址
* * // * @param hospitalArea 院区
* * // * @param tid 时段名
* * // * @param tName 时段名
* * // * @param begTime 开始时间(分时段)
* * // * @param endTime 开始时间(分时段)
* * // * @param regCode 挂号编码
* * // * @param regDate 挂号日期
* * // * @param sourceId 号源id(分时段)
* * // * @param queueNum 序列号(分时段)
* * // * @param clinicCode 编码
*
* @param request
* @param isDesc
*/
public static Register getRegParams(HttpServletRequest request, boolean isDesc) throws ServiceException {
Register reg = new Register();
RequestParams params = new RequestParams(request);
String openid = params.getString("openid");
String patientId = params.getString("patientId");
String cardNo = params.getString("idCardNo");
String patientName = params.getString("patientName");
if (cardNo == null) {
cardNo = params.getString("cardNo");
}
BigDecimal payMoney = params.getBigDecimal("payMoney");
BigDecimal totalFee = params.getBigDecimal("totalFee");
String deptCode = params.getString("deptCode");
String subDeptCode = params.getString("subDeptCode");
String doctCode = params.getString("doctCode");
String regCode = params.getString("regCode");
String regDate = params.getString("regDate");
String tid = params.getString("tid");
if (openid == null || patientId == null || cardNo == null || deptCode == null || doctCode == null || regDate == null || tid == null) {
log.info("[挂号]参数缺失 patientId={}, deptCode={}, doctCode={}, regCode={}, regDate={}, tid={}",
patientId, deptCode, doctCode, regCode, regDate, tid);
throw new ServiceException(ResultEnum.PARAM_IS_DEFECT);
}
if (payMoney == null || totalFee == null) {
log.info("[挂号]参数缺失 payMoney");
throw new ServiceException(ResultEnum.PARAM_IS_DEFECT);
}
Boolean isSplitTime = params.getBoolean("isSplitTime");
if (isSplitTime == null) {
log.info("[挂号]挂号类型参数缺失isSplitTime");
throw new ServiceException(ResultEnum.PARAM_IS_DEFECT);
}
log.info("[挂号类型]{}", (isSplitTime ? "分时段挂号" : "普通挂号"));
reg.setIsSplitTime(isSplitTime);
if (isSplitTime) {
String tName = params.getString("tName");
String queueNum = params.getString("queueNum");
String sourceId = params.getString("sourceId");
String begTime = params.getString("begTime");
String endTime = params.getString("endTime");
if (tName == null || queueNum == null || sourceId == null || begTime == null || endTime == null) {
log.info("[挂号]参数缺失 tName={}, queueNum={}, sourceId={}, begTime={}, endTime={}", tName, queueNum, sourceId, begTime, endTime);
throw new ServiceException(ResultEnum.PARAM_IS_DEFECT);
}
reg.setTName(tName);
reg.setBegTime(begTime);
reg.setEndTime(endTime);
reg.setSourceId(sourceId);
reg.setQueueNum(queueNum);
} else {
String clinicCode = params.getString("clinicCode");
if (clinicCode == null) {
log.info("[普通挂号]参数缺失clinicCode");
throw new ServiceException(ResultEnum.PARAM_IS_DEFECT);
}
reg.setClinicCode(clinicCode);
}
if (isDesc) {
BigDecimal regFee = params.getBigDecimal("regFee");
BigDecimal clinicFee = params.getBigDecimal("clinicFee");
if (regFee == null || clinicFee == null) {
log.info("[挂号]参数缺失 regFee={}, clinicFee={}", regFee, clinicFee);
throw new ServiceException(ResultEnum.PARAM_IS_DEFECT);
}
String tel = params.getString("tel");
String address = params.getString("address");
String deptName = params.getString("deptName");
String doctName = params.getString("doctName");
String hospitalArea = params.getString("hospitalArea");
if (deptName == null || doctName == null) {
log.info("[挂号]参数缺失 tel={}, address={}, deptName={}, hospitalArea={}", tel, address, deptName, hospitalArea);
throw new ServiceException(ResultEnum.PARAM_IS_DEFECT);
}
reg.setRegFee(regFee);
reg.setClinicFee(clinicFee);
reg.setTel(tel);
reg.setAddress(address);
reg.setHospitalArea(hospitalArea);
reg.setDeptName(deptName);
reg.setDoctName(doctName);
reg.setRegType(RegService.setRegType(regDate, isSplitTime));
}
reg.setRegCode(regCode);
reg.setPayMoney(payMoney);
// 信息
reg.setPatientId(patientId);
reg.setOpenid(openid);
reg.setIdCardNo(cardNo);
reg.setDeptCode(deptCode);
reg.setSubDeptCode(subDeptCode);
reg.setDoctCode(doctCode);
reg.setRegDate(regDate);
reg.setTid(tid);
reg.setPayMoney(payMoney);
reg.setTotalFee(totalFee);
return reg;
}
}