From e913d5f4ca7b81a1c1240cbe71be4c6394ed8d3a Mon Sep 17 00:00:00 2001 From: LiJianZhao Date: Fri, 25 Apr 2025 09:51:12 +0800 Subject: [PATCH] dev --- .../OrganizationMemberController.java | 13 ++-- .../server/entity/manager/ManagerUser.java | 17 +++-- .../organization/OrganizationMember.java | 22 +++--- .../dto/OrganizationMemberSaveDto.java | 11 +++ .../mapper/manager/ManagerUserMapper.java | 4 +- .../OrganizationMemberMapper.java | 4 +- .../clinic/server/service/BaseService.java | 4 +- .../OrganizationMemberService.java | 67 +++++++++++++++---- 8 files changed, 98 insertions(+), 44 deletions(-) create mode 100644 src/main/java/com/syjiaer/clinic/server/entity/organization/dto/OrganizationMemberSaveDto.java diff --git a/src/main/java/com/syjiaer/clinic/server/controller/organization/OrganizationMemberController.java b/src/main/java/com/syjiaer/clinic/server/controller/organization/OrganizationMemberController.java index 2f7ce66..de9fac5 100644 --- a/src/main/java/com/syjiaer/clinic/server/controller/organization/OrganizationMemberController.java +++ b/src/main/java/com/syjiaer/clinic/server/controller/organization/OrganizationMemberController.java @@ -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.controller.BaseController; 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 org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; @@ -18,7 +19,7 @@ public class OrganizationMemberController extends BaseController { @Autowired private OrganizationMemberService organizationMemberService; @RequestMapping("/list") - public Result> list() { + public Result> list() { int page = parmsUtil.getInteger("page","页码不能为空"); int size = parmsUtil.getInteger("size", "页容量不能为空"); String name = parmsUtil.getString("name"); @@ -27,17 +28,17 @@ public class OrganizationMemberController extends BaseController { } @RequestMapping("/add") public Result add() { - OrganizationMember organizationMember = parmsUtil.getObjectWithCheck("data", OrganizationMember.class); - if(organizationMember ==null){ + OrganizationMemberSaveDto dto = parmsUtil.getObject("data", OrganizationMemberSaveDto.class); + if(dto ==null){ throw new MessageException("data参数为空"); } - organizationMemberService.save(organizationMember); + organizationMemberService.save(dto); return success(); } @RequestMapping("/edit") public Result edit() { - OrganizationMember organizationMember = parmsUtil.getObjectWithCheck("data", OrganizationMember.class); - organizationMemberService.edit(organizationMember); + OrganizationMemberSaveDto dto = parmsUtil.getObject("data", OrganizationMemberSaveDto.class); + organizationMemberService.edit(dto); return success(); } @RequestMapping("/delete") diff --git a/src/main/java/com/syjiaer/clinic/server/entity/manager/ManagerUser.java b/src/main/java/com/syjiaer/clinic/server/entity/manager/ManagerUser.java index 34aa176..978e3da 100644 --- a/src/main/java/com/syjiaer/clinic/server/entity/manager/ManagerUser.java +++ b/src/main/java/com/syjiaer/clinic/server/entity/manager/ManagerUser.java @@ -5,19 +5,18 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; import lombok.Getter; import lombok.Setter; import lombok.ToString; import lombok.experimental.Accessors; - -import java.io.Serializable; /** *

* 用户表 *

* * @author NiuZiYuan - * @since 2025-04-17 + * @since 2025-04-25 */ @Getter @Setter @@ -39,12 +38,12 @@ public class ManagerUser implements Serializable { @ApiModelProperty("密码") private String password; - @ApiModelProperty("名称") - private String name; - - @ApiModelProperty("用户类型 0管理员 1销售人 2药师") - private Integer type; - @ApiModelProperty("0禁用 1启用") private Integer status; + + @ApiModelProperty("成员id") + private Integer organizationMemberId; + + @ApiModelProperty("用户名称") + private String name; } diff --git a/src/main/java/com/syjiaer/clinic/server/entity/organization/OrganizationMember.java b/src/main/java/com/syjiaer/clinic/server/entity/organization/OrganizationMember.java index d27d08e..6d99f94 100644 --- a/src/main/java/com/syjiaer/clinic/server/entity/organization/OrganizationMember.java +++ b/src/main/java/com/syjiaer/clinic/server/entity/organization/OrganizationMember.java @@ -5,20 +5,19 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import java.io.Serializable; +import java.time.LocalDateTime; import lombok.Getter; import lombok.Setter; import lombok.ToString; import lombok.experimental.Accessors; - -import java.io.Serializable; -import java.time.LocalDateTime; /** *

* 成员表 *

* * @author NiuZiYuan - * @since 2025-04-17 + * @since 2025-04-25 */ @Getter @Setter @@ -34,18 +33,12 @@ public class OrganizationMember implements Serializable { @TableId(value = "id", type = IdType.AUTO) private Integer id; - @ApiModelProperty("成员名称") - private String name; - @ApiModelProperty("成员电话") private String tel; @ApiModelProperty("医保人员代码") private String socialMemberCode; - @ApiModelProperty("0 医生 1 护士 2 ") - private Integer role; - @ApiModelProperty("电子签名") private String electronicSignature; @@ -67,5 +60,12 @@ public class OrganizationMember implements Serializable { @ApiModelProperty("备注") private String memo; - private Boolean delFlag; + @ApiModelProperty("管理员id") + private Integer managerUserId; + + @ApiModelProperty("成员名") + private String name; + + @ApiModelProperty("角色") + private Integer role; } diff --git a/src/main/java/com/syjiaer/clinic/server/entity/organization/dto/OrganizationMemberSaveDto.java b/src/main/java/com/syjiaer/clinic/server/entity/organization/dto/OrganizationMemberSaveDto.java new file mode 100644 index 0000000..334665f --- /dev/null +++ b/src/main/java/com/syjiaer/clinic/server/entity/organization/dto/OrganizationMemberSaveDto.java @@ -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; +} diff --git a/src/main/java/com/syjiaer/clinic/server/mapper/manager/ManagerUserMapper.java b/src/main/java/com/syjiaer/clinic/server/mapper/manager/ManagerUserMapper.java index 5b07a20..faaebff 100644 --- a/src/main/java/com/syjiaer/clinic/server/mapper/manager/ManagerUserMapper.java +++ b/src/main/java/com/syjiaer/clinic/server/mapper/manager/ManagerUserMapper.java @@ -2,6 +2,7 @@ package com.syjiaer.clinic.server.mapper.manager; import com.baomidou.mybatisplus.core.mapper.BaseMapper; 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 */ public interface ManagerUserMapper extends BaseMapper { - + @Select("select * from manager_user where organization_member_id = #{omi}") + ManagerUser selectByOrganizationMemberId(Integer omi); } diff --git a/src/main/java/com/syjiaer/clinic/server/mapper/organization/OrganizationMemberMapper.java b/src/main/java/com/syjiaer/clinic/server/mapper/organization/OrganizationMemberMapper.java index a6833c2..052ee61 100644 --- a/src/main/java/com/syjiaer/clinic/server/mapper/organization/OrganizationMemberMapper.java +++ b/src/main/java/com/syjiaer/clinic/server/mapper/organization/OrganizationMemberMapper.java @@ -2,6 +2,9 @@ package com.syjiaer.clinic.server.mapper.organization; import com.baomidou.mybatisplus.core.mapper.BaseMapper; 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 */ public interface OrganizationMemberMapper extends BaseMapper { - } diff --git a/src/main/java/com/syjiaer/clinic/server/service/BaseService.java b/src/main/java/com/syjiaer/clinic/server/service/BaseService.java index a52d755..971c987 100644 --- a/src/main/java/com/syjiaer/clinic/server/service/BaseService.java +++ b/src/main/java/com/syjiaer/clinic/server/service/BaseService.java @@ -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.manager.ManagerUser; 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.Value; @@ -54,7 +56,6 @@ public abstract class BaseService { if (map == null || map.get("manager_id") == null) { ManagerUser managerUser = new ManagerUser(); managerUser.setId(1); - managerUser.setName("test"); managerUser.setUsername("test"); return managerUser; } @@ -63,7 +64,6 @@ public abstract class BaseService { Object userName = map.get("manager_userName"); ManagerUser managerUser = new ManagerUser(); managerUser.setId(Integer.parseInt(managerId.toString())); - managerUser.setName(name.toString()); managerUser.setUsername(userName.toString()); return managerUser; diff --git a/src/main/java/com/syjiaer/clinic/server/service/organization/OrganizationMemberService.java b/src/main/java/com/syjiaer/clinic/server/service/organization/OrganizationMemberService.java index 240c82c..84941de 100644 --- a/src/main/java/com/syjiaer/clinic/server/service/organization/OrganizationMemberService.java +++ b/src/main/java/com/syjiaer/clinic/server/service/organization/OrganizationMemberService.java @@ -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.util.FileUtil; 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.dto.OrganizationMemberSaveDto; +import com.syjiaer.clinic.server.mapper.manager.ManagerUserMapper; import com.syjiaer.clinic.server.mapper.organization.OrganizationMemberMapper; import com.syjiaer.clinic.server.service.BaseService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.List; + /** * 组织成员 */ @@ -23,6 +29,9 @@ public class OrganizationMemberService extends BaseService { private OrganizationMemberMapper organizationMemberMapper; @Autowired private FileUtil fileUtil; + @Autowired + private ManagerUserMapper managerUserMapper; + /* * 获取成员列表 * @param pageNum 页码 @@ -30,7 +39,7 @@ public class OrganizationMemberService extends BaseService { * @param name 姓名 * @param tel 电话 */ - public Page pageList(int pageNum, int pageSize, String name, String tel) { + public Page pageList(int pageNum, int pageSize, String name, String tel) { QueryWrapper queryWrapper = new QueryWrapper<>(); if (name != null && !name.isEmpty()) { queryWrapper.like("name", name); @@ -38,27 +47,56 @@ public class OrganizationMemberService extends BaseService { if (tel != null && !tel.isEmpty()) { queryWrapper.eq("tel", tel); } - queryWrapper.eq("del_flag", false); - Page pageResult = pageHelper(pageNum, pageSize, queryWrapper, organizationMemberMapper,"create_datetime",false); - return pageResult; + Page pageResult = pageHelper(pageNum, pageSize, queryWrapper, organizationMemberMapper, "create_datetime", false); + List dtoList = new ArrayList<>(); + for (OrganizationMember member : pageResult.getList()){ + OrganizationMemberSaveDto dto = new OrganizationMemberSaveDto(); + dto.setMemberInfo(member); + dto.setUserInfo(managerUserMapper.selectByOrganizationMemberId(member.getId())); + dtoList.add(dto); + } + Page result = new Page<>(); + result.setList(dtoList); + result.setTotal_page(pageResult.getTotal_page()); + result.setTotal_count(pageResult.getTotal_count()); + return result; } + /* - * 保存/修改成员信息 + * 新建成员信息 并绑定用户信息 * @param organizationMember 成员信息 */ - public void save(OrganizationMember organizationMember) { - if(organizationMember ==null){ + @Transactional(rollbackFor = Exception.class) + public void save(OrganizationMemberSaveDto dto) { + OrganizationMember organizationMember = dto.getMemberInfo(); + if (organizationMember == null) { throw new MessageException("data参数为空"); } 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参数为空"); } organizationMemberMapper.updateById(organizationMember); + ManagerUser user = dto.getUserInfo(); + user.setName(organizationMember.getName()); + managerUserMapper.updateById(user); } + /* * 删除成员信息 * @param id 成员id @@ -70,7 +108,6 @@ public class OrganizationMemberService extends BaseService { } OrganizationMember updateMember = new OrganizationMember(); updateMember.setId(id); - updateMember.setDelFlag(true); organizationMemberMapper.updateById(updateMember); try { fileUtil.deleteImage(organizationMember.getElectronicSignature()); @@ -79,20 +116,22 @@ public class OrganizationMemberService extends BaseService { log.error("删除电子签名文件失败", e); } } + /* * 根据id获取成员信息 * @param id 成员id */ public OrganizationMember get(int id) { - if(id <= 0){ + if (id <= 0) { throw new MessageException("id参数为空"); } QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("del_flag", false).eq("id", id); - return organizationMemberMapper.selectOne(queryWrapper); + return organizationMemberMapper.selectOne(queryWrapper); } + /* - * 获取医生列表 + * 获取医生列表 */ public List doctorList() { QueryWrapper queryWrapper = new QueryWrapper<>();