提交 8b4124e1 authored 作者: zhu's avatar zhu

1.develop

2.fix bug
上级 e2bce3ad
/**
* 项目:互联网医疗
* 模型分组:服务管理
* 模型名称:邀请信息记录表
* @Author: xiongwei
* @Date: 2023-09-05 09:42:00
*/
package com.xwd.hospital.server.domain;
import java.io.Serializable;
import com.xwd.hospital.server.rest.res.ApiCode;
import lombok.*;
import java.util.List;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.v3.oas.annotations.media.Schema;
import org.springframework.format.annotation.DateTimeFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.xwd.hospital.server.base.BaseDomain;
import com.xwd.hospital.server.domain.User;
import com.xwd.hospital.server.domain.User;
@Data
@Builder(builderMethodName = "newBuilder")
@EqualsAndHashCode(callSuper = true)
@NoArgsConstructor
@AllArgsConstructor
@TableName("`pms_invite_register_record`")
@Schema(name = "InviteRegisterRecord", description = "邀请信息记录表")
public class InviteRegisterRecord extends BaseDomain {
/**
* Id
*/
@TableId(value = "id", type = IdType.AUTO)
@Schema(description = "Id", nullable = false)
private Long id;
/**
* 邀请人Id
*/
@TableField(value = "invite_user_id")
@Schema(description = "邀请人Id", nullable = false)
private Long inviteUserId;
/**
* 邀请人Id
*/
@Schema(description = "邀请人Id")
@TableField(exist = false)
private User inviteUser;
/**
* 被邀请人Id
*/
@TableField(value = "invited_user_id")
@Schema(description = "被邀请人Id", nullable = false)
private Long invitedUserId;
/**
* 被邀请人Id
*/
@Schema(description = "被邀请人Id")
@TableField(exist = false)
private User invitedUser;
/**
* 操作人Id
*/
@TableField(value = "editor_id")
@Schema(description = "操作人Id", nullable = false)
private Long editorId;
/**
* 操作人
*/
@TableField(value = "editor_name")
@Schema(description = "操作人", nullable = false)
private String editorName;
/**
* 创建时间
*/
@TableField(value = "create_time", fill = FieldFill.INSERT)
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@Schema(description = "创建时间", nullable = false)
private java.util.Date createTime;
/**
* 更新时间
*/
@TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@Schema(description = "更新时间", nullable = false)
private java.util.Date updateTime;
/**
* 设置默认值
*/
@Override
public InviteRegisterRecord setDefault() {
if (this.getEditorId() == null) {
this.setEditorId(1L);
}
if (this.getEditorName() == null) {
this.setEditorName("admin");
}
if (this.getCreateTime() == null) {
this.setCreateTime(new java.util.Date());
}
if (this.getUpdateTime() == null) {
this.setUpdateTime(new java.util.Date());
}
return this;
}
/**
* 数据验证
*/
@Override
public boolean validate(boolean throwException) {
if (this.getInviteUserId() == null) {
if (throwException) {
throw new ApiCode.ApiException(-1, "邀请人Id不能为空!");
}
return false;
}
if (this.getInvitedUserId() == null) {
if (throwException) {
throw new ApiCode.ApiException(-1, "被邀请人Id不能为空!");
}
return false;
}
if (this.getEditorId() == null) {
if (throwException) {
throw new ApiCode.ApiException(-1, "操作人Id不能为空!");
}
return false;
}
if (this.getEditorName() == null) {
if (throwException) {
throw new ApiCode.ApiException(-1, "操作人不能为空!");
}
return false;
}
return true;
}
/**
* 数据验证
*/
@Override
public boolean validate() {
return this.validate(false);
}
}
package com.xwd.hospital.server.dto;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import net.bytebuddy.implementation.bind.annotation.SuperCall;
@Data
@Getter
@Setter
public class ExcelDepartment extends DepartmentDto{
private Long excelId;
private Long excelParentId;
......
......@@ -13,4 +13,6 @@ public class LoginDto {
private String smsAuthCode;
//小程序来源
private UserTypeEnum userType;
//邀请人id
private String inviterId;
}
package com.xwd.hospital.server.dto;
import com.xwd.hospital.server.domain.Order;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class OrderDetailDto extends Order {
private String imUserId;
}
......@@ -35,5 +35,6 @@ public class OrderDto {
*/
private String serviceEndTime;
private String imUserId;
}
......@@ -9,4 +9,6 @@ public class RegisterDto {
private String code;
//小程序来源
private UserTypeEnum userType;
//邀请人id
private String inviterId;
}
......@@ -67,6 +67,8 @@ public class ReportDto {
@Schema(description = "报告时间", nullable = false)
private java.util.Date reportTime;
private String phoneNumber;
private List<String> pictureList;
}
/**
* 项目:互联网医疗
* 模型分组:服务管理
* 模型名称:邀请信息记录表
* @Author: xiongwei
* @Date: 2023-09-05 09:42:00
*/
package com.xwd.hospital.server.repository;
import java.io.Serializable;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.springframework.stereotype.Repository;
import org.apache.ibatis.annotations.Param;
import com.xwd.hospital.server.domain.InviteRegisterRecord;
import com.xwd.hospital.server.repository.base.InviteRegisterRecordBaseMapper;
@Repository
public interface InviteRegisterRecordMapper extends InviteRegisterRecordBaseMapper {
}
/**
* 项目:互联网医疗
* 模型分组:服务管理
* 模型名称:邀请信息记录表
* @Author: xiongwei
* @Date: 2023-09-05 09:42:00
*/
package com.xwd.hospital.server.repository.base;
import java.io.Serializable;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.springframework.stereotype.Repository;
import org.apache.ibatis.annotations.Param;
import com.xwd.hospital.server.domain.InviteRegisterRecord;
@Repository
public interface InviteRegisterRecordBaseMapper extends BaseMapper<InviteRegisterRecord> {
/**
* 根据 ID 更新所有字段
*
* @param entity 实体对象
*/
int updateAllFieldsById(@Param(Constants.ENTITY) InviteRegisterRecord entity);
/**
* 批量插入
*
* @param records 实体对象列表
*/
int batchInsert(@Param("records") List<InviteRegisterRecord> records);
}
......@@ -13,6 +13,7 @@ import java.util.Arrays;
import cn.dev33.satoken.stp.SaLoginModel;
import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.core.util.IdcardUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
......@@ -32,8 +33,8 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springdoc.core.annotations.ParameterObject;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
......@@ -62,6 +63,14 @@ public class FamilyDoctorController extends BaseController<FamilyDoctorService,
@Operation(summary = "新增")
@Override
public ApiResponse<FamilyDoctor> add(@RequestBody FamilyDoctor entity, @AuthUser User user) {
if(StringUtils.isEmpty(entity.getIdNo())){
return ApiResponse.fail(ApiCode.FAILED);
}
if(!IdcardUtil.isValidCard(entity.getIdNo())){
return ApiResponse.fail(ApiCode.FAILED);
}
entity.setEditorId(user.getId());
entity.setEditorName(user.getUsername());
entity.setDefault().validate(true);
......
/**
* 项目:互联网医疗
* 模型分组:服务管理
* 模型名称:邀请信息记录表
* @Author: xiongwei
* @Date: 2023-09-05 09:42:00
*/
package com.xwd.hospital.server.rest;
import java.util.List;
import java.util.Arrays;
import cn.dev33.satoken.stp.SaLoginModel;
import cn.dev33.satoken.stp.StpUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xwd.hospital.server.annotation.ApiCommon;
import com.xwd.hospital.server.annotation.AuthUser;
import com.xwd.hospital.server.base.BaseController;
import com.xwd.hospital.server.domain.User;
import com.xwd.hospital.server.rest.res.ApiCode;
import com.xwd.hospital.server.domain.InviteRegisterRecord;
import com.xwd.hospital.server.rest.req.InviteRegisterRecordParam;
import com.xwd.hospital.server.rest.res.ApiResponse;
import com.xwd.hospital.server.service.InviteRegisterRecordService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springdoc.core.annotations.ParameterObject;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Slf4j
@RestController
@Tag(name = "InviteRegisterRecordController", description = "邀请信息记录表管理")
@RequestMapping("/v1/pms/invite-register-record")
public class InviteRegisterRecordController extends BaseController<InviteRegisterRecordService, InviteRegisterRecord, InviteRegisterRecordParam> {
@Resource
public void setService(InviteRegisterRecordService service) {
this.service = service;
}
/**
* 新增
*
* @param entity 要新增的对象
* @return 新增的对象
*/
@PostMapping("/")
@Operation(summary = "新增")
@Override
public ApiResponse<InviteRegisterRecord> add(@RequestBody InviteRegisterRecord entity, @AuthUser User user) {
entity.setEditorId(user.getId());
entity.setEditorName(user.getUsername());
entity.setDefault().validate(true);
this.service.save(entity);
return ApiResponse.ok(this.service.getById(entity.getId()));
}
/**
* 批量新增
*
* @param entityList 要新增的对象
* @return boolean 成功或失败
*/
@PostMapping("/batch-save")
@Operation(summary = "批量新增")
@Override
public ApiResponse<Boolean> batchSave(@RequestBody List<InviteRegisterRecord> entityList, @AuthUser User user) {
entityList.forEach(entity -> {
entity.setEditorId(user.getId());
entity.setEditorName(user.getUsername());
entity.setDefault().validate(true);
});
return ApiResponse.ok(this.service.saveBatch(entityList));
}
}
......@@ -96,8 +96,13 @@ public class MedicalReportController extends BaseController<MedicalReportService
@PostMapping("/uploadReport")
@Operation(summary = "上传影像报告")
public ApiResponse uploadReport(@RequestBody ReportDto dto, @AuthUser User user) {
boolean result = this.service.uploadReport(dto);
if(result){
return ApiResponse.ok(result);
}else {
return ApiResponse.fail(ApiCode.FAILED.getCode(),"身份证信息不正确");
}
return ApiResponse.ok(this.service.uploadReport(dto));
}
/**
......
......@@ -94,7 +94,7 @@ public class OrderController extends BaseController<OrderService, Order, OrderPa
@GetMapping("/{id}")
@Operation(summary = "通过主键查询")
@ApiCommon
public ApiResponse<Order> selectByPrimaryKey(@PathVariable("id") Long id) {
public ApiResponse selectByPrimaryKey(@PathVariable("id") Long id) {
return ApiResponse.ok(this.service.queryOrderById(id));
}
......
......@@ -13,6 +13,7 @@ import java.util.Arrays;
import cn.dev33.satoken.stp.SaLoginModel;
import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.core.util.IdcardUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
......@@ -32,8 +33,8 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springdoc.core.annotations.ParameterObject;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
......@@ -62,6 +63,17 @@ public class PatientInfoController extends BaseController<PatientInfoService, Pa
@Operation(summary = "新增")
@Override
public ApiResponse<PatientInfo> add(@RequestBody PatientInfo entity, @AuthUser User user) {
if(StringUtils.isEmpty(entity.getIdNo())){
return ApiResponse.fail(ApiCode.FAILED);
}
if(!IdcardUtil.isValidCard(entity.getIdNo())){
return ApiResponse.fail(ApiCode.FAILED);
}
if(!StringUtils.isEmpty(entity.getGuardianIdentificationNumber())){
if(!IdcardUtil.isValidCard(entity.getGuardianIdentificationNumber())){
return ApiResponse.fail(ApiCode.FAILED);
}
}
entity.setEditorId(user.getId());
entity.setEditorName(user.getUsername());
entity.setDefault().validate(true);
......
......@@ -207,7 +207,12 @@ public class UserController extends BaseController<UserService, User, UserParam>
@PostMapping("/updateUserInfo")
@ApiCommon
public ApiResponse updateUserInfo(@RequestBody UpdateUserInfoDto updateInfoDto,@AuthUser User user) {
return ApiResponse.ok(this.service.updateUserInfo(updateInfoDto));
UserDto userDto = this.service.updateUserInfo(updateInfoDto);
if(null == userDto){
return ApiResponse.fail(ApiCode.FAILED);
}else {
return ApiResponse.ok(userDto);
}
}
/**
......@@ -295,18 +300,32 @@ public class UserController extends BaseController<UserService, User, UserParam>
return ApiResponse.ok(user);
}
// /**
// * <pre>
// * test
// * </pre>
// */
// @Operation(summary = "test")
// @GetMapping("/test")
// @ApiCommon
// public ApiResponse test(@RequestParam(value = "imUserId") String imUserId,
// @RequestParam(value = "nickName") String nickName,
// @RequestParam(value = "headUrl") String headUrl) {
// this.service.addUserToIMSystem(imUserId, nickName, headUrl);
// return ApiResponse.ok(null);
// }
/**
* <pre>
* test
* 获取IM签名
* </pre>
*/
@Operation(summary = "test")
@GetMapping("/test")
@Operation(summary = "获取IM签名")
@GetMapping("/getUserSig")
@ApiCommon
public ApiResponse test(@RequestParam(value = "imUserId") String imUserId,
@RequestParam(value = "nickName") String nickName,
@RequestParam(value = "headUrl") String headUrl) {
this.service.addUserToIMSystem(imUserId, nickName, headUrl);
return ApiResponse.ok(null);
public ApiResponse getUserSig(@AuthUser User user) {
Object userId = StpUtil.getExtra("userId");
return ApiResponse.ok(this.service.getIMSig(Long.valueOf(userId.toString())));
}
}
......@@ -87,5 +87,15 @@ public class UserInfoController extends BaseController<UserInfoService, UserInfo
return ApiResponse.ok(this.service.saveBatch(entityList));
}
/**
* 患者用户列表
*
*/
@PostMapping("/queryUserInfoList")
@Operation(summary = "患者用户列表")
public ApiResponse queryUserInfoList(@AuthUser User user) {
return ApiResponse.ok(this.service.queryUserInfoList());
}
}
/**
* 项目:互联网医疗
* 模型分组:服务管理
* 模型名称:邀请信息记录表
* @Author: xiongwei
* @Date: 2023-09-05 09:42:00
*/
package com.xwd.hospital.server.rest.req;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import io.swagger.v3.oas.annotations.Parameter;
import lombok.*;
import org.springframework.format.annotation.DateTimeFormat;
import com.xwd.hospital.server.base.BaseParam;
import com.xwd.hospital.server.domain.InviteRegisterRecord;
@Data
@EqualsAndHashCode(callSuper = true)
@Builder(builderMethodName = "newBuilder")
@NoArgsConstructor
@AllArgsConstructor
public class InviteRegisterRecordParam extends BaseParam<InviteRegisterRecord> {
/**
* Id
*/
@Parameter(description = "Id")
private Long id;
/**
* Id IN值List
*/
@Parameter(description = "Id IN值List")
private List<Long> idList;
/**
* 邀请人Id
*/
@Parameter(description = "邀请人Id")
private Long inviteUserId;
/**
* 被邀请人Id
*/
@Parameter(description = "被邀请人Id")
private Long invitedUserId;
/**
* 操作人Id
*/
@Parameter(description = "操作人Id")
private Long editorId;
/**
* 操作人
*/
@Parameter(description = "操作人")
private String editorName;
/**
* 创建时间
*/
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@Parameter(description = "创建时间")
private java.util.Date createTime;
/**
* 创建时间 下限值(大于等于)
*/
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@Parameter(description = "创建时间 下限值(大于等于)")
private java.util.Date createTimeFrom;
/**
* 创建时间 上限值(小于)
*/
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@Parameter(description = "创建时间 上限值(小于)")
private java.util.Date createTimeTo;
/**
* 更新时间
*/
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@Parameter(description = "更新时间")
private java.util.Date updateTime;
/**
* 更新时间 下限值(大于等于)
*/
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@Parameter(description = "更新时间 下限值(大于等于)")
private java.util.Date updateTimeFrom;
/**
* 更新时间 上限值(小于)
*/
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@Parameter(description = "更新时间 上限值(小于)")
private java.util.Date updateTimeTo;
/**
* 将查询参数转化为查询Wrapper
*/
@Override
public QueryWrapper<InviteRegisterRecord> toQueryWrapper() {
return this.toQueryWrapper("");
}
/**
* 将查询参数转化为查询Wrapper
*/
@Override
public QueryWrapper<InviteRegisterRecord> toQueryWrapper(String columnPrefix) {
QueryWrapper<InviteRegisterRecord> wrapper = Wrappers.<InviteRegisterRecord>query();
wrapper.eq(this.getId() != null, columnPrefix + "id", this.getId());
wrapper.in(this.getIdList() != null && this.getIdList().size() > 0, columnPrefix + "id", this.getIdList());
wrapper.eq(this.getInviteUserId() != null, columnPrefix + "invite_user_id", this.getInviteUserId());
wrapper.eq(this.getInvitedUserId() != null, columnPrefix + "invited_user_id", this.getInvitedUserId());
wrapper.eq(this.getEditorId() != null, columnPrefix + "editor_id", this.getEditorId());
if (this.getEditorName() != null) {
if (this.getEditorName().startsWith("%") && this.getEditorName().endsWith("%")) {
wrapper.like(columnPrefix + "editor_name", this.getEditorName().substring(1, this.getEditorName().length() - 1));
} else if (this.getEditorName().startsWith("%") && !this.getEditorName().endsWith("%")) {
wrapper.likeLeft(columnPrefix + "editor_name", this.getEditorName().substring(1));
} else if (this.getEditorName().endsWith("%")) {
wrapper.likeRight(columnPrefix + "editor_name", this.getEditorName().substring(0, this.getEditorName().length() - 1));
} else {
wrapper.eq(columnPrefix + "editor_name", this.getEditorName());
}
}
wrapper.eq(this.getCreateTime() != null, columnPrefix + "create_time", this.getCreateTime());
wrapper.ge(this.getCreateTimeFrom() != null, columnPrefix + "create_time", this.getCreateTimeFrom());
wrapper.lt(this.getCreateTimeTo() != null, columnPrefix + "create_time", this.getCreateTimeTo());
wrapper.eq(this.getUpdateTime() != null, columnPrefix + "update_time", this.getUpdateTime());
wrapper.ge(this.getUpdateTimeFrom() != null, columnPrefix + "update_time", this.getUpdateTimeFrom());
wrapper.lt(this.getUpdateTimeTo() != null, columnPrefix + "update_time", this.getUpdateTimeTo());
return wrapper;
}
}
/**
* 项目:互联网医疗
* 模型分组:服务管理
* 模型名称:邀请信息记录表
* @Author: xiongwei
* @Date: 2023-09-05 09:42:00
*/
package com.xwd.hospital.server.service;
import java.util.List;
import com.xwd.hospital.server.base.BaseService;
import com.xwd.hospital.server.domain.InviteRegisterRecord;
import com.xwd.hospital.server.rest.req.InviteRegisterRecordParam;
public interface InviteRegisterRecordService extends BaseService<InviteRegisterRecord> {
}
......@@ -8,20 +8,16 @@
package com.xwd.hospital.server.service;
import java.util.List;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xwd.hospital.server.base.BaseService;
import com.xwd.hospital.server.domain.Order;
import com.xwd.hospital.server.dto.*;
import com.xwd.hospital.server.enums.OrderStateEnum;
import com.xwd.hospital.server.rest.req.OrderParam;
import org.springframework.data.domain.jaxb.SpringDataJaxb;
public interface OrderService extends BaseService<Order> {
Order queryOrderById(Long id);
OrderDetailDto queryOrderById(Long id);
IPage<OrderDto> queryOrderListForMiniApp(Page page, OrderStateEnum state);
......
......@@ -15,4 +15,5 @@ import com.xwd.hospital.server.rest.req.UserInfoParam;
public interface UserInfoService extends BaseService<UserInfo> {
List<UserInfo> queryUserInfoList();
}
/**
* 项目:互联网医疗
* 模型分组:服务管理
* 模型名称:邀请信息记录表
* @Author: xiongwei
* @Date: 2023-09-05 09:42:00
*/
package com.xwd.hospital.server.service.impl;
import java.io.Serializable;
import java.util.List;
import java.util.ArrayList;
import java.util.Collection;
import jakarta.annotation.Resource;
import com.baomidou.mybatisplus.core.enums.SqlMethod;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.xwd.hospital.server.service.InviteRegisterRecordService;
import com.xwd.hospital.server.repository.InviteRegisterRecordMapper;
import com.xwd.hospital.server.repository.base.InviteRegisterRecordBaseMapper;
import com.xwd.hospital.server.domain.InviteRegisterRecord;
import com.xwd.hospital.server.rest.req.InviteRegisterRecordParam;
@Service
public class InviteRegisterRecordServiceImpl extends ServiceImpl<InviteRegisterRecordMapper, InviteRegisterRecord> implements InviteRegisterRecordService {
@Override
public int updateAllFieldsById(InviteRegisterRecord entity) {
return this.getBaseMapper().updateAllFieldsById(entity);
}
/**
* 批量插入
*
* @param entityList ignore
* @param batchSize ignore
* @return ignore
*/
@Transactional(rollbackFor = Exception.class)
@Override
public boolean saveBatch(Collection<InviteRegisterRecord> entityList, int batchSize) {
String sqlStatement = SqlHelper.getSqlStatement(InviteRegisterRecordBaseMapper.class, SqlMethod.INSERT_ONE);
return executeBatch(entityList, batchSize, (sqlSession, entity) -> sqlSession.insert(sqlStatement, entity));
}
}
......@@ -14,14 +14,15 @@ import java.util.ArrayList;
import java.util.Collection;
import cn.dev33.satoken.stp.StpUtil;
import com.xwd.hospital.server.domain.MedicalReportPicture;
import com.xwd.hospital.server.domain.User;
import com.xwd.hospital.server.domain.UserInfo;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdcardUtil;
import com.xwd.hospital.server.domain.*;
import com.xwd.hospital.server.dto.ReportDto;
import com.xwd.hospital.server.enums.PatientRelationEnum;
import com.xwd.hospital.server.enums.ReportStateEnum;
import com.xwd.hospital.server.service.MedicalReportPictureService;
import com.xwd.hospital.server.service.UserInfoService;
import com.xwd.hospital.server.service.UserService;
import com.xwd.hospital.server.enums.YesNoEnum;
import com.xwd.hospital.server.service.*;
import jakarta.annotation.Resource;
import com.baomidou.mybatisplus.core.enums.SqlMethod;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
......@@ -29,10 +30,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.xwd.hospital.server.service.MedicalReportService;
import com.xwd.hospital.server.repository.MedicalReportMapper;
import com.xwd.hospital.server.repository.base.MedicalReportBaseMapper;
import com.xwd.hospital.server.domain.MedicalReport;
import com.xwd.hospital.server.rest.req.MedicalReportParam;
@Service
......@@ -44,6 +43,8 @@ public class MedicalReportServiceImpl extends ServiceImpl<MedicalReportMapper, M
private UserInfoService userInfoService;
@Resource
private UserService userService;
@Resource
private PatientInfoService patientInfoService;
@Override
public int updateAllFieldsById(MedicalReport entity) {
......@@ -66,6 +67,44 @@ public class MedicalReportServiceImpl extends ServiceImpl<MedicalReportMapper, M
@Override
public boolean uploadReport(ReportDto dto) {
//验证身份证号码
boolean valid = IdcardUtil.isValidCard(dto.getPatientIdNo());
if(!valid){
return false;
}
//现根据身份证号查询是否有患者信息,如果没有则新增患者信息
UserInfo userInfo = userInfoService.getOne(Wrappers.<UserInfo>query().eq("id_no", dto.getPatientIdNo()));
if(null == userInfo){
//新增患者信息
userInfo = new UserInfo();
userInfo.setUserId(0L);//关联sys_user表的id,暂时记为0
userInfo.setName(dto.getPatientName());
userInfo.setSex(dto.getSex());
userInfo.setIdNo(dto.getPatientIdNo());
userInfo.setPhoneNumber(dto.getPhoneNumber());
DateTime birthday = DateUtil.parse(IdcardUtil.getBirthByIdCard(dto.getPatientIdNo()));
userInfo.setBornDate(DateUtil.format(birthday,"yyyy-MM-dd"));
userInfo.setPersonalInfoFilled(YesNoEnum.NO);
userInfoService.save(userInfo);
PatientInfo patientInfo = patientInfoService.getOne(Wrappers.<PatientInfo>query().eq("user_info_id", userInfo.getId())
.eq("relation", PatientRelationEnum.SELF).eq("id_no",dto.getPatientIdNo()));
if(null == patientInfo){
//同时创建自身的就诊人
patientInfo = new PatientInfo();
patientInfo.setUserInfoId(userInfo.getId());
patientInfo.setRelation(PatientRelationEnum.SELF);
patientInfo.setPatientName(userInfo.getName());
patientInfo.setSex(userInfo.getSex());
patientInfo.setIdNo(userInfo.getIdNo());
patientInfo.setPhoneNumber(userInfo.getPhoneNumber());
patientInfo.setBornDate(userInfo.getBornDate());
patientInfoService.save(patientInfo);
}
}
MedicalReport medicalReport = new MedicalReport();
medicalReport.setAge(dto.getAge());
......@@ -111,4 +150,10 @@ public class MedicalReportServiceImpl extends ServiceImpl<MedicalReportMapper, M
.orderByDesc("report_state").orderByDesc("create_time").last("limit 1"));
return medicalReport;
}
public static void main(String[] args) {
DateTime birthday = DateUtil.parse(IdcardUtil.getBirthByIdCard("321088199311287715"));
String format = DateUtil.format(birthday, "yyyy-MM-dd");
System.out.println(format);
}
}
......@@ -26,7 +26,7 @@ import com.baomidou.mybatisplus.core.enums.SqlMethod;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.xwd.hospital.server.repository.OrderMapper;
......@@ -92,15 +92,21 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
}
@Override
public Order queryOrderById(Long id) {
public OrderDetailDto queryOrderById(Long id) {
OrderDetailDto orderDetailDto = new OrderDetailDto();
Order order = this.getBaseMapper().selectById(id);
if(order.getOrderType() == OrderTypeEnum.PRESCRIPTION){
BeanUtils.copyProperties(order,orderDetailDto);
if(orderDetailDto.getOrderType() == OrderTypeEnum.PRESCRIPTION){
PrescriptionOrderRecord record = prescriptionOrderRecordService.getOne(Wrappers.<PrescriptionOrderRecord>query().eq("order_id", order.getId()));
if (null != record){
order.setPrescriptionOrderRecord(record);
orderDetailDto.setPrescriptionOrderRecord(record);
}
}
return order;
//查询返回医生的聊天id
DoctorInfo doctor = doctorInfoService.getById(orderDetailDto.getDoctorId());
orderDetailDto.setImUserId(doctor.getUser().getImUserId());
return orderDetailDto;
}
@Override
......
......@@ -49,4 +49,9 @@ public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo> i
}
@Override
public List<UserInfo> queryUserInfoList() {
return this.list();
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xwd.hospital.server.repository.InviteRegisterRecordMapper">
<resultMap id="ResultMap" type="com.xwd.hospital.server.domain.InviteRegisterRecord" extends="com.xwd.hospital.server.repository.base.InviteRegisterRecordBaseMapper.ResultMap">
</resultMap>
<resultMap id="ListResultMap" type="com.xwd.hospital.server.domain.InviteRegisterRecord" extends="com.xwd.hospital.server.repository.base.InviteRegisterRecordBaseMapper.BaseResultMap">
</resultMap>
<!-- 根据主键查询 -->
<select id="selectById" parameterType="java.io.Serializable" resultMap="ResultMap">
select
<include refid="com.xwd.hospital.server.repository.base.InviteRegisterRecordBaseMapper.Base_Column_List" />
from pms_invite_register_record
where id = #{id}
</select>
<!-- 根据Wrapper查询 -->
<select id="selectOne" resultMap="ResultMap">
select
<include refid="com.xwd.hospital.server.repository.base.InviteRegisterRecordBaseMapper.Base_Column_List" />
from pms_invite_register_record
${ew.customSqlSegment}
LIMIT 1
</select>
<!-- 根据Wrapper查询 -->
<select id="selectPage" resultMap="ListResultMap">
select
<include refid="com.xwd.hospital.server.repository.base.InviteRegisterRecordBaseMapper.Base_Column_List" />
from pms_invite_register_record
${ew.customSqlSegment}
</select>
<!-- 根据Wrapper查询 -->
<select id="selectList" resultMap="ResultMap">
select
<include refid="com.xwd.hospital.server.repository.base.InviteRegisterRecordBaseMapper.Base_Column_List" />
from pms_invite_register_record
${ew.customSqlSegment}
</select>
</mapper>
......@@ -39,29 +39,32 @@
<select id="queryOrderListForMiniApp" resultType="com.xwd.hospital.server.dto.OrderDto">
select
id as orderId,
order_no,
hospital_name,
doctor_name,
department_name,
patient_name,
patient_sex,
order_state,
order_actual_pay as actualPrice,
order_type,
create_time,
appointment_date,
service_start_time,
service_end_time
from pms_order
where user_info_id = #{userInfoId}
po.id as orderId,
po.order_no,
po.hospital_name,
po.doctor_name,
po.department_name,
po.patient_name,
po.patient_sex,
po.order_state,
po.order_actual_pay as actualPrice,
po.order_type,
po.create_time,
po.appointment_date,
po.service_start_time,
po.service_end_time,
su.im_user_id as imUserId
from pms_order po
left join pms_doctor_info pdi on po.doctor_id = pdi.id
left join sys_user su on pdi.user_id = su.id
where po.user_info_id = #{userInfoId} and su.user_type = 'DOCTOR'
<if test="state != null and state != 'COMPLETED'">
AND order_state = #{state}
AND po.order_state = #{state}
</if>
<if test="state != null and state == 'COMPLETED' ">
AND ( order_state = 'CANCELED'or order_state = 'REJECTED' or order_state = 'COMPLETED' )
AND ( po.order_state = 'CANCELED'or po.order_state = 'REJECTED' or po.order_state = 'COMPLETED' )
</if>
order by create_time desc
order by po.create_time desc
</select>
<select id="selectDoctorListByOrderCount" resultType="com.xwd.hospital.server.dto.PatientMiniAppHomeDto">
SELECT di.doctor_name,pmq.title,pdi.department_name,su.avatar,di.id as doctorId
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xwd.hospital.server.repository.base.InviteRegisterRecordBaseMapper">
<resultMap id="BaseResultMap" type="com.xwd.hospital.server.domain.InviteRegisterRecord">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="invite_user_id" jdbcType="BIGINT" property="inviteUserId" />
<result column="invited_user_id" jdbcType="BIGINT" property="invitedUserId" />
<result column="editor_id" jdbcType="BIGINT" property="editorId" />
<result column="editor_name" jdbcType="VARCHAR" property="editorName" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
</resultMap>
<resultMap id="ResultMap" type="com.xwd.hospital.server.domain.InviteRegisterRecord" extends="BaseResultMap">
<association column="invite_user_id" property="inviteUser" javaType="com.xwd.hospital.server.domain.User"
select="com.xwd.hospital.server.repository.UserMapper.selectById" />
<association column="invited_user_id" property="invitedUser" javaType="com.xwd.hospital.server.domain.User"
select="com.xwd.hospital.server.repository.UserMapper.selectById" />
</resultMap>
<sql id="Base_Column_List">
`id`, `invite_user_id`, `invited_user_id`, `editor_id`, `editor_name`, `create_time`, `update_time`
</sql>
<sql id="Base_Column_List_With_Prefix">
t.`id`, t.`invite_user_id`, t.`invited_user_id`, t.`editor_id`, t.`editor_name`, t.`create_time`, t.`update_time`
</sql>
<insert id="batchInsert">
insert into pms_invite_register_record (
`invite_user_id`, `invited_user_id`, `editor_id`, `editor_name`
)
values
<foreach collection="records" item="record" separator=",">
(
#{record.inviteUserId, jdbcType=BIGINT}, #{record.invitedUserId, jdbcType=BIGINT}, #{record.editorId, jdbcType=BIGINT}, #{record.editorName, jdbcType=VARCHAR}
)
</foreach>
</insert>
<update id="updateAllFieldsById" parameterType="com.xwd.hospital.server.domain.InviteRegisterRecord">
update pms_invite_register_record set
<trim suffixOverrides=",">
invite_user_id = #{et.inviteUserId, jdbcType=BIGINT},
invited_user_id = #{et.invitedUserId, jdbcType=BIGINT},
editor_id = #{et.editorId, jdbcType=BIGINT},
editor_name = #{et.editorName, jdbcType=VARCHAR},
</trim>
where id = #{et.id}
</update>
</mapper>
......@@ -38,8 +38,8 @@
<result column="patient_self_introduce" jdbcType="VARCHAR" property="patientSelfIntroduce" />
<association column="user_info_id" property="userInfo" javaType="com.xwd.hospital.server.domain.UserInfo"
select="com.xwd.hospital.server.repository.UserInfoMapper.selectById" />
<!-- <association column="doctor_id" property="doctor" javaType="com.xwd.hospital.server.domain.DoctorInfo"-->
<!-- select="com.xwd.hospital.server.repository.DoctorInfoMapper.selectById" />-->
<association column="doctor_id" property="doctor" javaType="com.xwd.hospital.server.domain.DoctorInfo"
select="com.xwd.hospital.server.repository.DoctorInfoMapper.selectById" />
<!-- <association column="patient_id" property="patient" javaType="com.xwd.hospital.server.domain.PatientInfo"-->
<!-- select="com.xwd.hospital.server.repository.PatientInfoMapper.selectById" />-->
<!-- <association column="user_coupon_id" property="userCoupon" javaType="com.xwd.hospital.server.domain.UserCouponInfo"-->
......
......@@ -4,6 +4,7 @@
<resultMap id="BaseResultMap" type="com.xwd.hospital.server.domain.User">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="username" jdbcType="VARCHAR" property="username" />
<result column="im_user_id" jdbcType="VARCHAR" property="imUserId" />
<result column="open_id" jdbcType="VARCHAR" property="openId" />
<result column="user_type" jdbcType="VARCHAR" property="userType" />
<result column="register_source" jdbcType="VARCHAR" property="registerSource" />
......@@ -22,10 +23,10 @@
<collection column="id" property="roleList" select="queryRoleById" />
</resultMap>
<sql id="Base_Column_List">
`id`, `username`, `open_id`, `user_type`, `register_source`, `obj_id`, `delete_status`, `password`, `real_name`, `phone`, `avatar`, `editor_id`, `editor_name`, `create_time`, `update_time`
`id`, `username`, `im_user_id`, `open_id`, `user_type`, `register_source`, `obj_id`, `delete_status`, `password`, `real_name`, `phone`, `avatar`, `editor_id`, `editor_name`, `create_time`, `update_time`
</sql>
<sql id="Base_Column_List_With_Prefix">
t.`id`, t.`username`, t.`open_id`, t.`user_type`, t.`register_source`, t.`obj_id`, t.`delete_status`, t.`password`, t.`real_name`, t.`phone`, t.`avatar`, t.`editor_id`, t.`editor_name`, t.`create_time`, t.`update_time`
t.`id`, t.`username`, t.`im_user_id`, t.`open_id`, t.`user_type`, t.`register_source`, t.`obj_id`, t.`delete_status`, t.`password`, t.`real_name`, t.`phone`, t.`avatar`, t.`editor_id`, t.`editor_name`, t.`create_time`, t.`update_time`
</sql>
<select id="queryRoleById" resultMap="com.xwd.hospital.server.repository.base.RoleBaseMapper.ResultMap">
select
......@@ -37,12 +38,12 @@
</select>
<insert id="batchInsert">
insert into sys_user (
`username`, `open_id`, `user_type`, `register_source`, `obj_id`, `delete_status`, `password`, `real_name`, `phone`, `avatar`, `editor_id`, `editor_name`
`username`, `im_user_id`, `open_id`, `user_type`, `register_source`, `obj_id`, `delete_status`, `password`, `real_name`, `phone`, `avatar`, `editor_id`, `editor_name`
)
values
<foreach collection="records" item="record" separator=",">
(
#{record.username, jdbcType=VARCHAR}, #{record.openId, jdbcType=VARCHAR}, #{record.userType, jdbcType=VARCHAR}, #{record.registerSource, jdbcType=VARCHAR}, #{record.objId, jdbcType=BIGINT}, #{record.deleteStatus, jdbcType=VARCHAR}, #{record.password, jdbcType=VARCHAR}, #{record.realName, jdbcType=VARCHAR}, #{record.phone, jdbcType=VARCHAR}, #{record.avatar, jdbcType=VARCHAR}, #{record.editorId, jdbcType=BIGINT}, #{record.editorName, jdbcType=VARCHAR}
#{record.username, jdbcType=VARCHAR}, #{record.imUserId, jdbcType=VARCHAR}, #{record.openId, jdbcType=VARCHAR}, #{record.userType, jdbcType=VARCHAR}, #{record.registerSource, jdbcType=VARCHAR}, #{record.objId, jdbcType=BIGINT}, #{record.deleteStatus, jdbcType=VARCHAR}, #{record.password, jdbcType=VARCHAR}, #{record.realName, jdbcType=VARCHAR}, #{record.phone, jdbcType=VARCHAR}, #{record.avatar, jdbcType=VARCHAR}, #{record.editorId, jdbcType=BIGINT}, #{record.editorName, jdbcType=VARCHAR}
)
</foreach>
</insert>
......@@ -50,6 +51,7 @@
update sys_user set
<trim suffixOverrides=",">
username = #{et.username, jdbcType=VARCHAR},
im_user_id = #{et.imUserId, jdbcType=VARCHAR},
open_id = #{et.openId, jdbcType=VARCHAR},
user_type = #{et.userType, jdbcType=VARCHAR},
register_source = #{et.registerSource, jdbcType=VARCHAR},
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论