Просмотр исходного кода

fix
微信登录默认租户1
add
问卷类型

18339543638 6 месяцев назад
Родитель
Сommit
2a17deacf1

+ 14 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/enums/QuestionGroupTypeEnums.java

@@ -0,0 +1,14 @@
+package cn.tr.module.smart.common.enums;
+
+public interface QuestionGroupTypeEnums {
+
+    /**
+     * 术前问卷
+     */
+    String PRE="pre_question";
+
+    /**
+     * 术后问卷
+     */
+    String AFTER="after_question";
+}

+ 6 - 2
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/po/BizQuestionGroupPO.java

@@ -1,6 +1,7 @@
 package cn.tr.module.smart.common.po;
 
-import cn.tr.plugin.mybatis.pojo.TenantPO;   
+import cn.tr.module.smart.common.enums.QuestionGroupEnums;
+import cn.tr.plugin.mybatis.pojo.TenantPO;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModelProperty;
@@ -29,7 +30,10 @@ public class BizQuestionGroupPO extends TenantPO {
     @ApiModelProperty(value = "问卷名称", position = 2)
     private String name;
 
-    /** 问卷类型 */
+    /**
+     * {@link QuestionGroupEnums}
+     * 问卷类型
+     * */
     @ApiModelProperty(value = "问卷类型", position = 3)
     private String type;
 

+ 5 - 1
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/po/BizQuestionGroupSquarePO.java

@@ -1,6 +1,7 @@
 package cn.tr.module.smart.common.po;
 
 
+import cn.tr.module.smart.common.enums.QuestionGroupEnums;
 import cn.tr.plugin.mybatis.pojo.BasePO;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
@@ -30,7 +31,10 @@ public class BizQuestionGroupSquarePO extends BasePO {
     @ApiModelProperty(value = "问卷名称", position = 2)
     private String name;
 
-    /** 问卷类型 */
+    /**
+     * {@link QuestionGroupEnums}
+     * 问卷类型
+     * */
     @ApiModelProperty(value = "问卷类型", position = 3)
     private String type;
 

+ 38 - 2
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/wx/config/WxAppletOauth2UserOperator.java

@@ -9,22 +9,27 @@ import cn.hutool.core.util.StrUtil;
 import cn.hutool.http.useragent.UserAgent;
 import cn.hutool.http.useragent.UserAgentUtil;
 import cn.tr.core.annotation.TenantIgnore;
+import cn.tr.core.exception.ServiceException;
+import cn.tr.core.exception.TRExcCode;
 import cn.tr.core.utils.IpUtil;
 import cn.tr.core.utils.ServletUtils;
 import cn.tr.module.smart.common.dto.BizWxUserDTO;
 import cn.tr.module.smart.common.mapper.BizWxUserMapper;
+import cn.tr.module.smart.common.po.BizWxUserHospitalPO;
+import cn.tr.module.smart.common.po.BizWxUserPO;
+import cn.tr.module.smart.common.repository.BizWxUserHospitalRepository;
+import cn.tr.module.smart.common.repository.BizWxUserRepository;
 import cn.tr.module.smart.common.service.IBizWxUserService;
 import cn.tr.module.sys.oauth2.LoginTypeConstant;
 import cn.tr.module.sys.oauth2.dto.AccountUserInfoDTO;
 import cn.tr.module.sys.oauth2.dto.AccountUserInfoEditDTO;
 import cn.tr.module.sys.oauth2.dto.OAuth2PswLoginInfoDTO;
 import cn.tr.module.sys.oauth2.dto.OAuth2PswReqDTO;
-import cn.tr.module.sys.oauth2.mapper.OAuth2Mapper;
 import cn.tr.module.sys.oauth2.psw.operator.AbstractOAuth2PswUserOperator;
 import cn.tr.module.sys.oauth2.psw.operator.LoginOAuth2PswUserOperator;
-import cn.tr.module.sys.user.service.ISysUserService;
 import cn.tr.plugin.security.bo.UserLoginInfoBO;
 import cn.tr.plugin.security.utils.SaTokenUtils;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import lombok.SneakyThrows;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
@@ -52,6 +57,11 @@ public class WxAppletOauth2UserOperator extends AbstractOAuth2PswUserOperator {
     @Autowired
     private IBizWxUserService wxUserService;
 
+    @Autowired
+    private BizWxUserRepository wxUserRepository;
+
+    @Autowired
+    private BizWxUserHospitalRepository wxUserHospitalRepository;
 
     @SneakyThrows
     @Override
@@ -59,6 +69,9 @@ public class WxAppletOauth2UserOperator extends AbstractOAuth2PswUserOperator {
         String appId = source.getAppId();
         String wxAppletCode = source.getWxAppletCode();
         String username = source.getUsername();
+        //当前登录的医院id
+        String tenantId = source.getTenantId();
+
         Date loginTime = new Date();
         //获取Request对象
         HttpServletRequest request = ServletUtils.getRequest();
@@ -124,6 +137,19 @@ public class WxAppletOauth2UserOperator extends AbstractOAuth2PswUserOperator {
                     .orgId("")
                     .signature("")
                     .build();
+
+            if(StrUtil.isNotBlank(source.getTenantId())){
+                //如果有医院信息,则绑定医院关系
+                BizWxUserHospitalPO wxUserHospital = wxUserHospitalRepository.selectOne(new LambdaQueryWrapper<BizWxUserHospitalPO>()
+                        .eq(BizWxUserHospitalPO::getWxUserId, wxUser.getId())
+                        .eq(BizWxUserHospitalPO::getTenantId, source.getTenantId())
+                        .last("limit 1"));
+                if (ObjectUtil.isNull(wxUserHospital)) {
+                    wxUserHospital.setWxUserId(wxUser.getId());
+                    wxUserHospital.setTenantId(source.getTenantId());
+                    wxUserHospitalRepository.insert(wxUserHospital);
+                }
+            }
             setSessionUser(tokenValue,loginInfo);
             return tokenValue;
     }
@@ -146,7 +172,17 @@ public class WxAppletOauth2UserOperator extends AbstractOAuth2PswUserOperator {
     }
 
     @Override
+    @TenantIgnore
     public void updateAccountUserInfo(String userId, AccountUserInfoEditDTO source) {
+        BizWxUserPO wxUser = wxUserRepository.selectById(userId);
+        if(ObjectUtil.isNotNull(wxUser)){
+            wxUser.setNickname(source.getNickname());
+            wxUser.setAvatar(source.getAvatar());
+            wxUser.setPhone(source.getPhone());
+            wxUserRepository.updateById(wxUser);
+        }else {
+            throw new ServiceException(TRExcCode.SYSTEM_ERROR_B0001,"该用户不存在");
+        }
 
     }
 

+ 4 - 1
tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/oauth2/dto/OAuth2PswReqDTO.java

@@ -34,8 +34,11 @@ public class OAuth2PswReqDTO extends OAuth2DTO {
 	@ApiModelProperty("微信登录码")
 	private String wxAppletCode;
 
+	/**
+	 * 默认
+	 */
 	@ApiModelProperty("微信登录时扫码的租户id")
-	private String tenantId;
+	private String tenantId="1";
 
 
 }

+ 1 - 1
tr-test/src/main/resources/application.yml

@@ -8,7 +8,7 @@ server:
 mybatis-plus:
   mapper-locations: classpath*:com/gitee/sunchenbin/mybatis/actable/mapping/*/*.xml,classpath*:mapper/*/*.xml
   configuration:
-    log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
   global-config:
     db-config:
       logic-delete-value: 1