1 package com.supwisdom.institute.backend.common.framework.repo;
3 import java.util.Calendar;
5 import java.util.Optional;
7 import javax.persistence.EntityManager;
8 import javax.transaction.Transactional;
10 import org.springframework.data.domain.Page;
11 import org.springframework.data.domain.PageRequest;
12 import org.springframework.data.jpa.repository.support.JpaEntityInformation;
13 import org.springframework.data.jpa.repository.support.SimpleJpaRepository;
14 import org.springframework.data.repository.NoRepositoryBean;
16 import com.supwisdom.institute.backend.common.framework.entity.ABaseEntity;
20 public class ABaseJpaRepositoryImpl<E extends ABaseEntity> extends SimpleJpaRepository<E, String> implements BaseJpaRepository<E> {
22 @SuppressWarnings("unused")
23 private final EntityManager em;
25 public ABaseJpaRepositoryImpl(Class<E> domainClass, EntityManager em) {
26 super(domainClass, em);
30 public ABaseJpaRepositoryImpl(JpaEntityInformation<E, String> information, EntityManager em) {
31 super(information, em);
35 public Page<E> selectPageList(int pageIndex, int pageSize, Map<String, Object> mapBean) {
37 PageRequest pageRequest = PageRequest.of(pageIndex, pageSize);
39 Page<E> page = this.findAll(pageRequest);
44 public E selectById(String id) {
47 Optional<E> entity = this.findById(id);
49 if (entity.isPresent()) {
52 } catch (RuntimeException e) {
53 System.out.println("RuntimeException:" + e.getMessage());
54 } catch (Exception e) {
55 System.out.println("Exception:" + e.getMessage());
61 public E insert(E entity) {
63 if (entity.getCompanyId() == null || entity.getCompanyId().isEmpty()) {
64 entity.setCompanyId("1");
67 if (entity.getDeleted() == null) {
68 entity.setDeleted(false);
70 //entity.setAddAccount(AuthUtil.getRemoteUser()); // FIXME: setAddAccount
71 if (entity.getAddTime() == null) {
72 entity.setAddTime(Calendar.getInstance().getTime());
75 E e = this.save(entity);
80 public E update(E entity) {
82 //entity.setEditAccount(AuthUtil.getRemoteUser()); // FIXME: setEditAccount
83 if (entity.getEditTime() == null) {
84 entity.setEditTime(Calendar.getInstance().getTime());
87 E e = this.save(entity);