|
@@ -1,93 +1,92 @@
|
|
package cn.com.qmth.examcloud.core.basic.service.cache;
|
|
package cn.com.qmth.examcloud.core.basic.service.cache;
|
|
|
|
|
|
-import java.util.List;
|
|
|
|
-
|
|
|
|
-import org.apache.commons.lang3.StringUtils;
|
|
|
|
-import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
-import org.springframework.stereotype.Service;
|
|
|
|
-
|
|
|
|
-import com.google.common.collect.Lists;
|
|
|
|
-
|
|
|
|
import cn.com.qmth.examcloud.core.basic.dao.StudentCodeRepo;
|
|
import cn.com.qmth.examcloud.core.basic.dao.StudentCodeRepo;
|
|
import cn.com.qmth.examcloud.core.basic.dao.StudentFaceRepo;
|
|
import cn.com.qmth.examcloud.core.basic.dao.StudentFaceRepo;
|
|
import cn.com.qmth.examcloud.core.basic.dao.StudentRepo;
|
|
import cn.com.qmth.examcloud.core.basic.dao.StudentRepo;
|
|
import cn.com.qmth.examcloud.core.basic.dao.entity.StudentCodeEntity;
|
|
import cn.com.qmth.examcloud.core.basic.dao.entity.StudentCodeEntity;
|
|
import cn.com.qmth.examcloud.core.basic.dao.entity.StudentEntity;
|
|
import cn.com.qmth.examcloud.core.basic.dao.entity.StudentEntity;
|
|
import cn.com.qmth.examcloud.core.basic.dao.entity.StudentFaceEntity;
|
|
import cn.com.qmth.examcloud.core.basic.dao.entity.StudentFaceEntity;
|
|
|
|
+import cn.com.qmth.examcloud.support.CacheConstants;
|
|
import cn.com.qmth.examcloud.support.cache.bean.StudentCacheBean;
|
|
import cn.com.qmth.examcloud.support.cache.bean.StudentCacheBean;
|
|
import cn.com.qmth.examcloud.support.filestorage.FileStorageUtil;
|
|
import cn.com.qmth.examcloud.support.filestorage.FileStorageUtil;
|
|
import cn.com.qmth.examcloud.web.cache.RandomObjectRedisCache;
|
|
import cn.com.qmth.examcloud.web.cache.RandomObjectRedisCache;
|
|
import cn.com.qmth.examcloud.web.helpers.GlobalHelper;
|
|
import cn.com.qmth.examcloud.web.helpers.GlobalHelper;
|
|
|
|
+import com.google.common.collect.Lists;
|
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
|
+
|
|
|
|
+import java.util.List;
|
|
|
|
|
|
@Service
|
|
@Service
|
|
public class StudentCache extends RandomObjectRedisCache<StudentCacheBean> {
|
|
public class StudentCache extends RandomObjectRedisCache<StudentCacheBean> {
|
|
|
|
|
|
- @Autowired
|
|
|
|
- StudentRepo studentRepo;
|
|
|
|
-
|
|
|
|
- @Autowired
|
|
|
|
- StudentCodeRepo studentCodeRepo;
|
|
|
|
-
|
|
|
|
- @Autowired
|
|
|
|
- StudentFaceRepo studentFaceRepo;
|
|
|
|
-
|
|
|
|
- @Override
|
|
|
|
- public StudentCacheBean loadFromResource(Object... keys) {
|
|
|
|
- Long studentId = (Long) keys[0];
|
|
|
|
-
|
|
|
|
- StudentEntity s = GlobalHelper.getPresentEntity(studentRepo, studentId,
|
|
|
|
- StudentEntity.class);
|
|
|
|
-
|
|
|
|
- StudentCacheBean b = new StudentCacheBean();
|
|
|
|
- b.setId(s.getId());
|
|
|
|
- b.setEnable(s.getEnable());
|
|
|
|
- b.setIdentityNumber(s.getIdentityNumber());
|
|
|
|
- b.setName(s.getName());
|
|
|
|
- b.setOrgId(s.getOrgId());
|
|
|
|
- b.setPhoneNumber(s.getPhoneNumber());
|
|
|
|
- b.setRemark(s.getRemark());
|
|
|
|
- b.setRootOrgId(s.getRootOrgId());
|
|
|
|
- b.setSecurityPhone(s.getSecurityPhone());
|
|
|
|
-
|
|
|
|
- if (StringUtils.isNotBlank(s.getPhotoPath())) {
|
|
|
|
-// String upyunDomain = PropertyHolder.getString("$upyun.site.1.domain");
|
|
|
|
-// if (StringUtils.isBlank(upyunDomain)) {
|
|
|
|
-// throw new StatusException("560111",
|
|
|
|
-// "property[$upyun.site.1.domain] is not configured");
|
|
|
|
-// }
|
|
|
|
-// String path = UrlUtil.joinUrl(upyunDomain, "student_base_photo", s.getPhotoPath());
|
|
|
|
-// b.setPhotoPath(path);
|
|
|
|
- //通用存储
|
|
|
|
- b.setPhotoPath(FileStorageUtil.realPath(FileStorageUtil.getIntactPath("student_base_photo", s.getPhotoPath())));
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- List<StudentCodeEntity> studentCodeEntityList = studentCodeRepo.findByStudentId(s.getId());
|
|
|
|
-
|
|
|
|
- List<String> studentCodeList = Lists.newArrayList();
|
|
|
|
- for (StudentCodeEntity cur : studentCodeEntityList) {
|
|
|
|
- studentCodeList.add(cur.getStudentCode());
|
|
|
|
- }
|
|
|
|
- b.setStudentCodeList(studentCodeList);
|
|
|
|
-
|
|
|
|
- StudentFaceEntity studentFaceEntity = GlobalHelper.getEntity(studentFaceRepo, studentId,
|
|
|
|
- StudentFaceEntity.class);
|
|
|
|
-
|
|
|
|
- if (null != studentFaceEntity) {
|
|
|
|
- b.setFaceToken(studentFaceEntity.getFaceToken());
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- return b;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- @Override
|
|
|
|
- protected String getKeyPrefix() {
|
|
|
|
- return "B_STUDENT:";
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- @Override
|
|
|
|
- protected int getTimeout() {
|
|
|
|
- // 120分钟
|
|
|
|
- return 60 * 120;
|
|
|
|
- }
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ StudentRepo studentRepo;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ StudentCodeRepo studentCodeRepo;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ StudentFaceRepo studentFaceRepo;
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public StudentCacheBean loadFromResource(Object... keys) {
|
|
|
|
+ Long studentId = (Long) keys[0];
|
|
|
|
+
|
|
|
|
+ StudentEntity s = GlobalHelper.getPresentEntity(studentRepo, studentId,
|
|
|
|
+ StudentEntity.class);
|
|
|
|
+
|
|
|
|
+ StudentCacheBean b = new StudentCacheBean();
|
|
|
|
+ b.setId(s.getId());
|
|
|
|
+ b.setEnable(s.getEnable());
|
|
|
|
+ b.setIdentityNumber(s.getIdentityNumber());
|
|
|
|
+ b.setName(s.getName());
|
|
|
|
+ b.setOrgId(s.getOrgId());
|
|
|
|
+ b.setPhoneNumber(s.getPhoneNumber());
|
|
|
|
+ b.setRemark(s.getRemark());
|
|
|
|
+ b.setRootOrgId(s.getRootOrgId());
|
|
|
|
+ b.setSecurityPhone(s.getSecurityPhone());
|
|
|
|
+
|
|
|
|
+ if (StringUtils.isNotBlank(s.getPhotoPath())) {
|
|
|
|
+ // String upyunDomain = PropertyHolder.getString("$upyun.site.1.domain");
|
|
|
|
+ // if (StringUtils.isBlank(upyunDomain)) {
|
|
|
|
+ // throw new StatusException("560111",
|
|
|
|
+ // "property[$upyun.site.1.domain] is not configured");
|
|
|
|
+ // }
|
|
|
|
+ // String path = UrlUtil.joinUrl(upyunDomain, "student_base_photo", s.getPhotoPath());
|
|
|
|
+ // b.setPhotoPath(path);
|
|
|
|
+ //通用存储
|
|
|
|
+ b.setPhotoPath(FileStorageUtil.realPath(FileStorageUtil.getIntactPath("student_base_photo", s.getPhotoPath())));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ List<StudentCodeEntity> studentCodeEntityList = studentCodeRepo.findByStudentId(s.getId());
|
|
|
|
+
|
|
|
|
+ List<String> studentCodeList = Lists.newArrayList();
|
|
|
|
+ for (StudentCodeEntity cur : studentCodeEntityList) {
|
|
|
|
+ studentCodeList.add(cur.getStudentCode());
|
|
|
|
+ }
|
|
|
|
+ b.setStudentCodeList(studentCodeList);
|
|
|
|
+
|
|
|
|
+ StudentFaceEntity studentFaceEntity = GlobalHelper.getEntity(studentFaceRepo, studentId,
|
|
|
|
+ StudentFaceEntity.class);
|
|
|
|
+
|
|
|
|
+ if (null != studentFaceEntity) {
|
|
|
|
+ b.setFaceToken(studentFaceEntity.getFaceToken());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return b;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ protected String getKeyPrefix() {
|
|
|
|
+ return CacheConstants.CACHE_B_STUDENT;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ protected int getTimeout() {
|
|
|
|
+ // 120分钟
|
|
|
|
+ return 60 * 120;
|
|
|
|
+ }
|
|
|
|
|
|
}
|
|
}
|