yangdamao пре 1 година
родитељ
комит
03a08da929

+ 5 - 0
zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/UserServiceImpl.java

@@ -2195,6 +2195,11 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
         return "";
     }
 
+    @Override
+    public User getByCardNoTenantNew(String idCard,String bh) {
+        return baseMapper.getByCardNoTenantNew(idCard,bh);
+    }
+
     @Override
     public Map<String, Object> accountLogin(UserAppAccountLoginBo bo) {
         if(Validator.isEmpty(bo.getAccount())){

+ 10 - 3
zhongzheng-system/src/main/java/com/zhongzheng/modules/grade/service/impl/ClassGradeUserServiceImpl.java

@@ -1291,8 +1291,11 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
         String SEVEN_OFFICIALPUSH_INFOACCOUNT=null;
         String SEVEN_OFFICIALPUSH_TOKEN=null;
         String pars;
+        Boolean flag = false;
         try {
             if(Validator.isNotEmpty(bo.getTenantId())){
+                SysTenant tenant = iSysTenantService.getById(bo.getTenantId());
+                flag = tenant.getShareClass() == 1;
                 ServletUtils.getRequestAttributes().getResponse().setHeader("TenantId", bo.getTenantId());
             }
             if(Validator.isNotEmpty(configService.selectConfigByKeyNoCache("seven.office.account"))){
@@ -1326,16 +1329,20 @@ public class ClassGradeUserServiceImpl extends ServiceImpl<ClassGradeUserMapper,
         if (!DateUtils.dateTimeNow(DateUtils.YYYYMMDD).equals(datetimeStr)) {
             throw new CustomException("数据错误");
         }
+        String bh = split.get("bh");
         log.info("学时抽查"+ idCard+"RR"+datetime+"RR"+year);
-//        User user = iUserService.getByCardNoTenant(idCard);
-        User user = iUserService.getOne(new LambdaQueryWrapper<User>().eq(User::getIdCard,EncryptHandler.encrypt(idCard)).last("limit 1"));
+        User user;
+        if (flag){
+            user = iUserService.getByCardNoTenantNew(idCard,bh);
+        }else {
+            user = iUserService.getOne(new LambdaQueryWrapper<User>().eq(User::getIdCard,EncryptHandler.encrypt(idCard)).last("limit 1"));
+        }
         if (Validator.isEmpty(user)) {
             throw new CustomException("身份证查无用户");
         }
         if(Validator.isNotEmpty(user.getTenantId())){
             ServletUtils.getRequestAttributes().getResponse().setHeader("TenantId", user.getTenantId().toString());
         }
-        String bh = split.get("bh");
         List<ClassGrade> classGradeList = iClassGradeService.list(new LambdaQueryWrapper<ClassGrade>().eq(ClassGrade::getOfficialName, bh));
         if (Validator.isEmpty(classGradeList) || classGradeList.size() == 0) {
             throw new CustomException("班级不存在");

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserMapper.java

@@ -96,4 +96,7 @@ public interface UserMapper extends BaseMapper<User> {
     Long getFistStudyTime(@Param("userId")Long userId,@Param("tenantId")Long tenantId,@Param("businessName")String businessName);
 
     List<UserBusinessGoodsVo> getCourseByUser(UserBusinessGoodsBo item);
+
+    @InterceptorIgnore(tenantLine = "true")
+    User getByCardNoTenantNew(@Param("idCard")String idCard,@Param("bh")String bh);
 }

+ 2 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/service/IUserService.java

@@ -170,4 +170,6 @@ public interface IUserService extends IService<User> {
 	List<UserBusinessGoodsVo> getUserBusinessGoods(List<UserBusinessGoodsBo> bos);
 
     String studyRecord(List<UserStudyExportVo> customerBos);
+
+	User getByCardNoTenantNew(String idCard,String bh);
 }

+ 14 - 0
zhongzheng-system/src/main/resources/mapper/modules/user/UserMapper.xml

@@ -663,6 +663,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             LIMIT 1
     </select>
 
+    <select id="getByCardNoTenantNew" parameterType="java.lang.String" resultType="com.zhongzheng.modules.user.domain.User">
+        SELECT
+            u.*
+        FROM
+            class_grade_user cgu
+                LEFT JOIN class_grade cg ON cgu.grade_id = cg.grade_id
+                LEFT JOIN `user` u ON cgu.user_id = u.user_id
+        WHERE
+            cgu.`status` = 1
+            AND cg.official_name = #{bh}
+            AND u.id_card = #{idCard,typeHandler=com.zhongzheng.common.type.EncryptHandler}
+            LIMIT 1
+    </select>
+
     <select id="getFistStudyTime" parameterType="map" resultType="java.lang.Long">
         SELECT
         ustp.create_time