package ${PACKAGE_NAME};
#set ($PARENT_PACKAGE_NAME=$PACKAGE_NAME.substring(0,$PACKAGE_NAME.lastIndexOf('.')))
#set ($PP_PACKAGE_NAME=$PARENT_PACKAGE_NAME.substring(0,$PARENT_PACKAGE_NAME.lastIndexOf('.')))
#set ($LOWER_NAME = ${NAME.substring(0,1).toLowerCase()}+${NAME.substring(1)})
import ${PP_PACKAGE_NAME}.core.Constant;
import ${PP_PACKAGE_NAME}.dao.${NAME}Dao;
import ${PP_PACKAGE_NAME}.entity.${NAME};
import ${PP_PACKAGE_NAME}.service.${NAME}Service;
import ${PP_PACKAGE_NAME}.utils.ClassUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
#parse("File Header.java")
@Service
@Transactional(readOnly = true)
public class ${NAME}ServiceImpl implements ${NAME}Service {
@Autowired
private ${NAME}Dao ${LOWER_NAME}Dao;
@Override
public List<${NAME}> findAll() {
return ${LOWER_NAME}Dao.findAll();
}
@Override
public Page<${NAME}> find(int pageNum, int pageSize) {
return ${LOWER_NAME}Dao.findAll(new PageRequest(pageNum-1, pageSize, Sort.Direction.DESC, "id"));
}
@Override
public Page<${NAME}> find(int pageNum) {
return find(pageNum, Constant.PAGE_DEF_SZIE);
}
@Override
public ${NAME} getById(int id) {
return ${LOWER_NAME}Dao.findOne(id);
}
@Override
@Transactional
public ${NAME} deleteById(int id) {
${NAME} ${LOWER_NAME} = getById(id);
${LOWER_NAME}Dao.delete(${LOWER_NAME});
return ${LOWER_NAME};
}
@Override
@Transactional
public ${NAME} create(${NAME} ${LOWER_NAME}) {
${LOWER_NAME}Dao.save(${LOWER_NAME});
return ${LOWER_NAME};
}
@Override
@Transactional
public ${NAME} update(${NAME} ${LOWER_NAME}) {
${NAME} orig${NAME} = getById(${LOWER_NAME}.getId());
ClassUtil.copyProperties(orig${NAME},${LOWER_NAME});
return ${LOWER_NAME}Dao.save(orig${NAME});
}
@Override
@Transactional
public void deleteAll(int[] ids) {
for (int id : ids) {
deleteById(id);
}
}
}
#set ($PARENT_PACKAGE_NAME=$PACKAGE_NAME.substring(0,$PACKAGE_NAME.lastIndexOf('.')))
#set ($PP_PACKAGE_NAME=$PARENT_PACKAGE_NAME.substring(0,$PARENT_PACKAGE_NAME.lastIndexOf('.')))
#set ($LOWER_NAME = ${NAME.substring(0,1).toLowerCase()}+${NAME.substring(1)})
import ${PP_PACKAGE_NAME}.core.Constant;
import ${PP_PACKAGE_NAME}.dao.${NAME}Dao;
import ${PP_PACKAGE_NAME}.entity.${NAME};
import ${PP_PACKAGE_NAME}.service.${NAME}Service;
import ${PP_PACKAGE_NAME}.utils.ClassUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
#parse("File Header.java")
@Service
@Transactional(readOnly = true)
public class ${NAME}ServiceImpl implements ${NAME}Service {
@Autowired
private ${NAME}Dao ${LOWER_NAME}Dao;
@Override
public List<${NAME}> findAll() {
return ${LOWER_NAME}Dao.findAll();
}
@Override
public Page<${NAME}> find(int pageNum, int pageSize) {
return ${LOWER_NAME}Dao.findAll(new PageRequest(pageNum-1, pageSize, Sort.Direction.DESC, "id"));
}
@Override
public Page<${NAME}> find(int pageNum) {
return find(pageNum, Constant.PAGE_DEF_SZIE);
}
@Override
public ${NAME} getById(int id) {
return ${LOWER_NAME}Dao.findOne(id);
}
@Override
@Transactional
public ${NAME} deleteById(int id) {
${NAME} ${LOWER_NAME} = getById(id);
${LOWER_NAME}Dao.delete(${LOWER_NAME});
return ${LOWER_NAME};
}
@Override
@Transactional
public ${NAME} create(${NAME} ${LOWER_NAME}) {
${LOWER_NAME}Dao.save(${LOWER_NAME});
return ${LOWER_NAME};
}
@Override
@Transactional
public ${NAME} update(${NAME} ${LOWER_NAME}) {
${NAME} orig${NAME} = getById(${LOWER_NAME}.getId());
ClassUtil.copyProperties(orig${NAME},${LOWER_NAME});
return ${LOWER_NAME}Dao.save(orig${NAME});
}
@Override
@Transactional
public void deleteAll(int[] ids) {
for (int id : ids) {
deleteById(id);
}
}
}