Преглед изворни кода

Merge remote-tracking branch 'origin/feature/0721-tenant' into feature/0721-tenant

yuanliang пре 1 година
родитељ
комит
48be773935

+ 5 - 0
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/core/provider/PhoneAuthenticationProvider.java

@@ -225,6 +225,11 @@ public class PhoneAuthenticationProvider extends AbstractAuthenticationProvider
                 sysUserService.update(user);
             }
 
+            // 学生账号修改隐藏为显示
+            if (StringUtils.equalsIgnoreCase(loginUserType, "STUDENT")) {
+                sysUserService.updateStudentHideFlag(userInfo.getSysUser().getId(), 0);
+            }
+
         }
 
         return login(username);

+ 3 - 0
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/core/provider/service/DefaultUserDetailsService.java

@@ -117,6 +117,9 @@ public class DefaultUserDetailsService implements UserDetailsService {
 
         if (userType.contains("SYSTEM")) {
             authorities = AuthorityUtils.createAuthorityList(userInfo.getPermissions());
+
+            // 学生账号修改隐藏为显示
+            sysUserService.updateStudentHideFlag(userInfo.getSysUser().getId(), 0);
         }
 
         if (authorities == null) {

+ 3 - 0
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/dal/dao/SysUserDao.java

@@ -181,4 +181,7 @@ public interface SysUserDao extends BaseDAO<Long, SysUser> {
     void updateLockStatusByPhone(@Param("phone") String phone);
 
     int countByPhone(@Param("phone") String phone);
+
+    void updateStudentHideFlag(@Param("userId") Long userId, @Param("hideFlag") int hideFlag);
+
 }

+ 3 - 0
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/service/SysUserService.java

@@ -222,4 +222,7 @@ public interface SysUserService extends BaseService<Long, SysUser> {
     SysUser getSysUserByOpenId(String openId, String clientId);
 
     void logoffByPhone(String phone);
+
+
+    void updateStudentHideFlag(Long userId, int hideFlag);
 }

+ 5 - 0
cooleshow-auth/auth-server/src/main/java/com/yonge/cooleshow/auth/service/impl/SysUserServiceImpl.java

@@ -437,4 +437,9 @@ public class SysUserServiceImpl extends BaseServiceImpl<Long, SysUser> implement
         //退出登录
         tokenService.revokeTokenByPhone(phone);
     }
+
+    @Override
+    public void updateStudentHideFlag(Long userId, int hideFlag) {
+        sysUserDao.updateStudentHideFlag(userId, hideFlag);
+    }
 }

+ 3 - 0
cooleshow-auth/auth-server/src/main/resources/config/mybatis/SysUserMapper.xml

@@ -366,4 +366,7 @@
         WHERE t1.del_flag_ = 0 and t2.wx_openid_ = #{openId} LIMIT 1
     </select>
 
+    <update id="updateStudentHideFlag">
+        update student set hide_flag_ = #{hideFlag} where user_id_ = #{userId}
+    </update>
 </mapper>

+ 18 - 3
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/TenantInfoServiceImpl.java

@@ -20,6 +20,7 @@ import com.yonge.cooleshow.biz.dal.mapper.TenantInfoMapper;
 import com.yonge.cooleshow.biz.dal.mapper.TenantStaffMapper;
 import com.yonge.cooleshow.biz.dal.service.SysAreaService;
 import com.yonge.cooleshow.biz.dal.service.SysConfigService;
+import com.yonge.cooleshow.biz.dal.service.SysUserService;
 import com.yonge.cooleshow.biz.dal.service.TenantInfoService;
 import com.yonge.cooleshow.biz.dal.wrapper.TenantAlbumWrapper;
 import com.yonge.cooleshow.biz.dal.wrapper.TenantInfoWrapper;
@@ -77,6 +78,10 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoMapper, TenantI
     TenantApplyRecordMapper tenantApplyRecordMapper;
 
     @Autowired
+    TenantInfoService tenantInfoService;
+
+
+    @Autowired
     private TeacherDao teacherDao;
 
     @Autowired
@@ -201,7 +206,16 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoMapper, TenantI
     @Transactional(rollbackFor = Exception.class)
     @Override
     public Boolean add(TenantInfo tenantInfo) {
-        SysUser sysUser = getOrCreateAccount(tenantInfo, null);
+        TenantInfo oldInfo =new TenantInfo();
+        //查询要新增的信息 是否存在机构
+        String phone = tenantInfo.getPhone();
+        if (StringUtils.isNotEmpty(phone)){
+            List<TenantInfo> list = tenantInfoService.lambdaQuery().eq(TenantInfo::getPhone, phone).list();
+            if (CollectionUtils.isNotEmpty(list)){
+                 oldInfo = list.get(0);
+            }
+        }
+        SysUser sysUser = getOrCreateAccount(tenantInfo, oldInfo);
         tenantInfo.setEnableFlag(true);
         if (StringUtils.isEmpty(tenantInfo.getLogo())) {
             // todo 设置默认logo
@@ -209,6 +223,7 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoMapper, TenantI
         }
         tenantInfo.setEnableFlag(true);
         tenantInfo.setUserId(sysUser.getId());
+        tenantInfo.setUsername(sysUser.getUsername());
         tenantInfoMapper.insert(tenantInfo);
 
         TenantStaff tenantStaff = new TenantStaff();
@@ -231,8 +246,8 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoMapper, TenantI
         if (!sysUsers.isEmpty()) {
             sysUser = sysUsers.get(0);
             TenantStaff tenantStaff = tenantStaffMapper.selectByUserId(sysUser.getId());
-            if (tenantStaff != null && oldTenantInfo != null &&
-                    !tenantStaff.getUserId().equals(oldTenantInfo.getUserId())) {
+            if ( !ObjectUtil.isEmpty(tenantStaff) && !ObjectUtil.isEmpty(oldTenantInfo) &&
+                    tenantStaff.getUserId().equals(oldTenantInfo.getUserId())) {
                 throw new BizException("手机号已经注册机构账号");
             }
             //获取当前账户的用户类型