فهرست منبع

add
mqtt信息发送

lifang 4 هفته پیش
والد
کامیت
8149ae8ad2

+ 17 - 0
nb-service-api/web-service-api/src/main/java/com/nb/web/api/feign/result/AppHospitalVO.java

@@ -0,0 +1,17 @@
+package com.nb.web.api.feign.result;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class AppHospitalVO implements Serializable {
+    private static final long serialVersionUID = 1L;
+    @ApiModelProperty("医院id")
+    private String id;
+    @ApiModelProperty("医院名称")
+    private String name;
+
+    private String uerId;
+}

+ 15 - 3
nb-service/app-doctor/src/main/java/com/nb/app/doctor/auth/AppDoctorUserAccountOperator.java

@@ -6,6 +6,7 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.nb.app.doctor.controller.vo.DoctorUserVo;
 import com.nb.app.doctor.api.entity.AppDoctorUserEntity;
@@ -17,6 +18,8 @@ import com.nb.auth.controller.vo.UserInfoVO;
 import com.nb.auth.enums.GrantTypeEnum;
 import com.nb.auth.granter.IAccountOperator;
 import com.nb.auth.utils.SecurityUtil;
+import com.nb.common.config.annotation.TenantIgnore;
+import com.nb.common.config.context.TenantContextHolder;
 import com.nb.core.exception.CustomException;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Component;
@@ -42,9 +45,14 @@ public class AppDoctorUserAccountOperator implements IAccountOperator<DoctorUser
     }
 
     @Override
+    @TenantIgnore
     public UserInfoVO getUserInfo() {
         UserInfoVO userInfoVO = new UserInfoVO();
-        AppDoctorUserEntity user = doctorUserService.getById(SecurityUtil.getStpLogic().getLoginIdAsString());
+        AppDoctorUserEntity user = doctorUserService.getOne(new LambdaQueryWrapper<AppDoctorUserEntity>()
+                        .eq(AppDoctorUserEntity::getUsername, SecurityUtil.getUsername())
+                        .eq(AppDoctorUserEntity::getTenantId, SecurityUtil.getTenantId())
+                .last("limit 1")
+              );
         if(ObjectUtil.isNull(user)){
             StpLogic stpLogic = SecurityUtil.getStpLogic();
             stpLogic.logout();
@@ -115,10 +123,14 @@ public class AppDoctorUserAccountOperator implements IAccountOperator<DoctorUser
         if (!SecurityUtil.matchesPassword(oldPass, doctorUser.getPassword())) {
             throw new CustomException("旧密码不正确");
         }
+        String username = SecurityUtil.getUsername();
         String encryptPassword = SecurityUtil.encryptPassword(newPass);
-        return doctorUserService
+        TenantContextHolder.setIgnore(Boolean.TRUE);
+         doctorUserService
                 .update(new UpdateWrapper<AppDoctorUserEntity>()
-                        .lambda().eq(AppDoctorUserEntity::getId,userId)
+                        .lambda().eq(AppDoctorUserEntity::getUsername,username)
                         .set(AppDoctorUserEntity::getPassword,encryptPassword));
+        TenantContextHolder.setIgnore(Boolean.FALSE);
+        return Boolean.TRUE;
     }
 }

+ 19 - 0
nb-service/web-service/src/main/resources/mapper/bus/BusHospitalMapper.xml

@@ -0,0 +1,19 @@
+<?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.nb.web.service.bus.mapper.BusHospitalMapper">
+    <resultMap id="hospitalList" type="com.nb.web.api.feign.result.AppHospitalVO">
+        <id property="id" column="id"/>
+        <result property="name" column="name"/>
+        <result property="userId" column="user_id"/>
+    </resultMap>
+
+    <select id="selectUserHospitalListByUsername" resultMap="hospitalList">
+        select
+            adu.id as user_id,
+            bh.tenant_id as id,
+                bh.name as name
+        from app_doctor_user as adu join bus_hospital as bh on bh.tenant_id=adu.tenant_id where adu.username=#{username}
+        order by bh.create_time desc
+    </select>
+
+</mapper>