This commit is contained in:
LiJianZhao 2025-04-25 09:51:12 +08:00
parent 9d7aa4a040
commit e913d5f4ca
8 changed files with 98 additions and 44 deletions

View File

@ -5,6 +5,7 @@ import com.syjiaer.clinic.server.common.vo.Page;
import com.syjiaer.clinic.server.common.vo.Result; import com.syjiaer.clinic.server.common.vo.Result;
import com.syjiaer.clinic.server.controller.BaseController; import com.syjiaer.clinic.server.controller.BaseController;
import com.syjiaer.clinic.server.entity.organization.OrganizationMember; import com.syjiaer.clinic.server.entity.organization.OrganizationMember;
import com.syjiaer.clinic.server.entity.organization.dto.OrganizationMemberSaveDto;
import com.syjiaer.clinic.server.service.organization.OrganizationMemberService; import com.syjiaer.clinic.server.service.organization.OrganizationMemberService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
@ -18,7 +19,7 @@ public class OrganizationMemberController extends BaseController {
@Autowired @Autowired
private OrganizationMemberService organizationMemberService; private OrganizationMemberService organizationMemberService;
@RequestMapping("/list") @RequestMapping("/list")
public Result<Page<OrganizationMember>> list() { public Result<Page<OrganizationMemberSaveDto>> list() {
int page = parmsUtil.getInteger("page","页码不能为空"); int page = parmsUtil.getInteger("page","页码不能为空");
int size = parmsUtil.getInteger("size", "页容量不能为空"); int size = parmsUtil.getInteger("size", "页容量不能为空");
String name = parmsUtil.getString("name"); String name = parmsUtil.getString("name");
@ -27,17 +28,17 @@ public class OrganizationMemberController extends BaseController {
} }
@RequestMapping("/add") @RequestMapping("/add")
public Result<?> add() { public Result<?> add() {
OrganizationMember organizationMember = parmsUtil.getObjectWithCheck("data", OrganizationMember.class); OrganizationMemberSaveDto dto = parmsUtil.getObject("data", OrganizationMemberSaveDto.class);
if(organizationMember ==null){ if(dto ==null){
throw new MessageException("data参数为空"); throw new MessageException("data参数为空");
} }
organizationMemberService.save(organizationMember); organizationMemberService.save(dto);
return success(); return success();
} }
@RequestMapping("/edit") @RequestMapping("/edit")
public Result<?> edit() { public Result<?> edit() {
OrganizationMember organizationMember = parmsUtil.getObjectWithCheck("data", OrganizationMember.class); OrganizationMemberSaveDto dto = parmsUtil.getObject("data", OrganizationMemberSaveDto.class);
organizationMemberService.edit(organizationMember); organizationMemberService.edit(dto);
return success(); return success();
} }
@RequestMapping("/delete") @RequestMapping("/delete")

View File

@ -5,19 +5,18 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
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 lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString; import lombok.ToString;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.io.Serializable;
/** /**
* <p> * <p>
* 用户表 * 用户表
* </p> * </p>
* *
* @author NiuZiYuan * @author NiuZiYuan
* @since 2025-04-17 * @since 2025-04-25
*/ */
@Getter @Getter
@Setter @Setter
@ -39,12 +38,12 @@ public class ManagerUser implements Serializable {
@ApiModelProperty("密码") @ApiModelProperty("密码")
private String password; private String password;
@ApiModelProperty("名称")
private String name;
@ApiModelProperty("用户类型 0管理员 1销售人 2药师")
private Integer type;
@ApiModelProperty("0禁用 1启用") @ApiModelProperty("0禁用 1启用")
private Integer status; private Integer status;
@ApiModelProperty("成员id")
private Integer organizationMemberId;
@ApiModelProperty("用户名称")
private String name;
} }

View File

@ -5,20 +5,19 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
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 java.time.LocalDateTime;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString; import lombok.ToString;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.io.Serializable;
import java.time.LocalDateTime;
/** /**
* <p> * <p>
* 成员表 * 成员表
* </p> * </p>
* *
* @author NiuZiYuan * @author NiuZiYuan
* @since 2025-04-17 * @since 2025-04-25
*/ */
@Getter @Getter
@Setter @Setter
@ -34,18 +33,12 @@ public class OrganizationMember implements Serializable {
@TableId(value = "id", type = IdType.AUTO) @TableId(value = "id", type = IdType.AUTO)
private Integer id; private Integer id;
@ApiModelProperty("成员名称")
private String name;
@ApiModelProperty("成员电话") @ApiModelProperty("成员电话")
private String tel; private String tel;
@ApiModelProperty("医保人员代码") @ApiModelProperty("医保人员代码")
private String socialMemberCode; private String socialMemberCode;
@ApiModelProperty("0 医生 1 护士 2 ")
private Integer role;
@ApiModelProperty("电子签名") @ApiModelProperty("电子签名")
private String electronicSignature; private String electronicSignature;
@ -67,5 +60,12 @@ public class OrganizationMember implements Serializable {
@ApiModelProperty("备注") @ApiModelProperty("备注")
private String memo; private String memo;
private Boolean delFlag; @ApiModelProperty("管理员id")
private Integer managerUserId;
@ApiModelProperty("成员名")
private String name;
@ApiModelProperty("角色")
private Integer role;
} }

View File

@ -0,0 +1,11 @@
package com.syjiaer.clinic.server.entity.organization.dto;
import com.syjiaer.clinic.server.entity.manager.ManagerUser;
import com.syjiaer.clinic.server.entity.organization.OrganizationMember;
import lombok.Data;
@Data
public class OrganizationMemberSaveDto {
private OrganizationMember memberInfo;
private ManagerUser userInfo;
}

View File

@ -2,6 +2,7 @@ package com.syjiaer.clinic.server.mapper.manager;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.syjiaer.clinic.server.entity.manager.ManagerUser; import com.syjiaer.clinic.server.entity.manager.ManagerUser;
import org.apache.ibatis.annotations.Select;
/** /**
@ -13,6 +14,7 @@ import com.syjiaer.clinic.server.entity.manager.ManagerUser;
* @since 2025-04-17 * @since 2025-04-17
*/ */
public interface ManagerUserMapper extends BaseMapper<ManagerUser> { public interface ManagerUserMapper extends BaseMapper<ManagerUser> {
@Select("select * from manager_user where organization_member_id = #{omi}")
ManagerUser selectByOrganizationMemberId(Integer omi);
} }

View File

@ -2,6 +2,9 @@ package com.syjiaer.clinic.server.mapper.organization;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.syjiaer.clinic.server.entity.organization.OrganizationMember; import com.syjiaer.clinic.server.entity.organization.OrganizationMember;
import org.apache.ibatis.annotations.Select;
import java.io.Serializable;
/** /**
@ -13,6 +16,5 @@ import com.syjiaer.clinic.server.entity.organization.OrganizationMember;
* @since 2025-04-11 * @since 2025-04-11
*/ */
public interface OrganizationMemberMapper extends BaseMapper<OrganizationMember> { public interface OrganizationMemberMapper extends BaseMapper<OrganizationMember> {
} }

View File

@ -10,6 +10,8 @@ import com.syjiaer.clinic.server.common.vo.Page;
import com.syjiaer.clinic.server.entity.common.CommonLog; import com.syjiaer.clinic.server.entity.common.CommonLog;
import com.syjiaer.clinic.server.entity.manager.ManagerUser; import com.syjiaer.clinic.server.entity.manager.ManagerUser;
import com.syjiaer.clinic.server.mapper.common.CommonLogMapper; import com.syjiaer.clinic.server.mapper.common.CommonLogMapper;
import com.syjiaer.clinic.server.mapper.manager.ManagerUserMapper;
import com.syjiaer.clinic.server.mapper.organization.OrganizationMemberMapper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
@ -54,7 +56,6 @@ public abstract class BaseService {
if (map == null || map.get("manager_id") == null) { if (map == null || map.get("manager_id") == null) {
ManagerUser managerUser = new ManagerUser(); ManagerUser managerUser = new ManagerUser();
managerUser.setId(1); managerUser.setId(1);
managerUser.setName("test");
managerUser.setUsername("test"); managerUser.setUsername("test");
return managerUser; return managerUser;
} }
@ -63,7 +64,6 @@ public abstract class BaseService {
Object userName = map.get("manager_userName"); Object userName = map.get("manager_userName");
ManagerUser managerUser = new ManagerUser(); ManagerUser managerUser = new ManagerUser();
managerUser.setId(Integer.parseInt(managerId.toString())); managerUser.setId(Integer.parseInt(managerId.toString()));
managerUser.setName(name.toString());
managerUser.setUsername(userName.toString()); managerUser.setUsername(userName.toString());
return managerUser; return managerUser;

View File

@ -4,15 +4,21 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.syjiaer.clinic.server.common.exception.MessageException; import com.syjiaer.clinic.server.common.exception.MessageException;
import com.syjiaer.clinic.server.common.util.FileUtil; import com.syjiaer.clinic.server.common.util.FileUtil;
import com.syjiaer.clinic.server.common.vo.Page; import com.syjiaer.clinic.server.common.vo.Page;
import com.syjiaer.clinic.server.entity.manager.ManagerUser;
import com.syjiaer.clinic.server.entity.organization.OrganizationMember; import com.syjiaer.clinic.server.entity.organization.OrganizationMember;
import com.syjiaer.clinic.server.entity.organization.dto.OrganizationMemberSaveDto;
import com.syjiaer.clinic.server.mapper.manager.ManagerUserMapper;
import com.syjiaer.clinic.server.mapper.organization.OrganizationMemberMapper; import com.syjiaer.clinic.server.mapper.organization.OrganizationMemberMapper;
import com.syjiaer.clinic.server.service.BaseService; import com.syjiaer.clinic.server.service.BaseService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
* 组织成员 * 组织成员
*/ */
@ -23,6 +29,9 @@ public class OrganizationMemberService extends BaseService {
private OrganizationMemberMapper organizationMemberMapper; private OrganizationMemberMapper organizationMemberMapper;
@Autowired @Autowired
private FileUtil fileUtil; private FileUtil fileUtil;
@Autowired
private ManagerUserMapper managerUserMapper;
/* /*
* 获取成员列表 * 获取成员列表
* @param pageNum 页码 * @param pageNum 页码
@ -30,7 +39,7 @@ public class OrganizationMemberService extends BaseService {
* @param name 姓名 * @param name 姓名
* @param tel 电话 * @param tel 电话
*/ */
public Page<OrganizationMember> pageList(int pageNum, int pageSize, String name, String tel) { public Page<OrganizationMemberSaveDto> pageList(int pageNum, int pageSize, String name, String tel) {
QueryWrapper<OrganizationMember> queryWrapper = new QueryWrapper<>(); QueryWrapper<OrganizationMember> queryWrapper = new QueryWrapper<>();
if (name != null && !name.isEmpty()) { if (name != null && !name.isEmpty()) {
queryWrapper.like("name", name); queryWrapper.like("name", name);
@ -38,27 +47,56 @@ public class OrganizationMemberService extends BaseService {
if (tel != null && !tel.isEmpty()) { if (tel != null && !tel.isEmpty()) {
queryWrapper.eq("tel", tel); queryWrapper.eq("tel", tel);
} }
queryWrapper.eq("del_flag", false); Page<OrganizationMember> pageResult = pageHelper(pageNum, pageSize, queryWrapper, organizationMemberMapper, "create_datetime", false);
Page<OrganizationMember> pageResult = pageHelper(pageNum, pageSize, queryWrapper, organizationMemberMapper,"create_datetime",false); List<OrganizationMemberSaveDto> dtoList = new ArrayList<>();
return pageResult; for (OrganizationMember member : pageResult.getList()){
OrganizationMemberSaveDto dto = new OrganizationMemberSaveDto();
dto.setMemberInfo(member);
dto.setUserInfo(managerUserMapper.selectByOrganizationMemberId(member.getId()));
dtoList.add(dto);
}
Page<OrganizationMemberSaveDto> result = new Page<>();
result.setList(dtoList);
result.setTotal_page(pageResult.getTotal_page());
result.setTotal_count(pageResult.getTotal_count());
return result;
} }
/* /*
* 保存/修改成员信息 * 新建成员信息 并绑定用户信息
* @param organizationMember 成员信息 * @param organizationMember 成员信息
*/ */
public void save(OrganizationMember organizationMember) { @Transactional(rollbackFor = Exception.class)
if(organizationMember ==null){ public void save(OrganizationMemberSaveDto dto) {
OrganizationMember organizationMember = dto.getMemberInfo();
if (organizationMember == null) {
throw new MessageException("data参数为空"); throw new MessageException("data参数为空");
} }
organizationMember.setCreateDatetime(LocalDateTime.now()); organizationMember.setCreateDatetime(LocalDateTime.now());
organizationMemberMapper.insertOrUpdate(organizationMember); organizationMemberMapper.insert(organizationMember);
ManagerUser user = dto.getUserInfo();
user.setOrganizationMemberId(organizationMember.getId());
user.setName(organizationMember.getName());
managerUserMapper.insert(user);
} }
public void edit(OrganizationMember organizationMember) {
if(organizationMember ==null){ /**
* 编辑成员和用户信息
*
* @param dto
*/
public void edit(OrganizationMemberSaveDto dto) {
OrganizationMember organizationMember = dto.getMemberInfo();
if (organizationMember == null) {
throw new MessageException("data参数为空"); throw new MessageException("data参数为空");
} }
organizationMemberMapper.updateById(organizationMember); organizationMemberMapper.updateById(organizationMember);
ManagerUser user = dto.getUserInfo();
user.setName(organizationMember.getName());
managerUserMapper.updateById(user);
} }
/* /*
* 删除成员信息 * 删除成员信息
* @param id 成员id * @param id 成员id
@ -70,7 +108,6 @@ public class OrganizationMemberService extends BaseService {
} }
OrganizationMember updateMember = new OrganizationMember(); OrganizationMember updateMember = new OrganizationMember();
updateMember.setId(id); updateMember.setId(id);
updateMember.setDelFlag(true);
organizationMemberMapper.updateById(updateMember); organizationMemberMapper.updateById(updateMember);
try { try {
fileUtil.deleteImage(organizationMember.getElectronicSignature()); fileUtil.deleteImage(organizationMember.getElectronicSignature());
@ -79,20 +116,22 @@ public class OrganizationMemberService extends BaseService {
log.error("删除电子签名文件失败", e); log.error("删除电子签名文件失败", e);
} }
} }
/* /*
* 根据id获取成员信息 * 根据id获取成员信息
* @param id 成员id * @param id 成员id
*/ */
public OrganizationMember get(int id) { public OrganizationMember get(int id) {
if(id <= 0){ if (id <= 0) {
throw new MessageException("id参数为空"); throw new MessageException("id参数为空");
} }
QueryWrapper<OrganizationMember> queryWrapper = new QueryWrapper<>(); QueryWrapper<OrganizationMember> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("del_flag", false).eq("id", id); queryWrapper.eq("del_flag", false).eq("id", id);
return organizationMemberMapper.selectOne(queryWrapper); return organizationMemberMapper.selectOne(queryWrapper);
} }
/* /*
* 获取医生列表 * 获取医生列表
*/ */
public List<OrganizationMember> doctorList() { public List<OrganizationMember> doctorList() {
QueryWrapper<OrganizationMember> queryWrapper = new QueryWrapper<>(); QueryWrapper<OrganizationMember> queryWrapper = new QueryWrapper<>();