package com.nanometer.smartlab.service;
|
|
import com.nanometer.smartlab.dao.OpeApplyOrderDao;
|
import com.nanometer.smartlab.entity.OpeApplyOrder;
|
import com.nanometer.smartlab.exception.AlarmCode;
|
import com.nanometer.smartlab.exception.AlarmException;
|
import com.nanometer.smartlab.exception.BusinessException;
|
import com.nanometer.smartlab.exception.ExceptionEnumCode;
|
import com.nanometer.smartlab.util.IDUtils;
|
import com.nanometer.smartlab.util.MessageUtil;
|
import org.apache.log4j.Logger;
|
import org.springframework.dao.DataAccessException;
|
import org.springframework.dao.DataIntegrityViolationException;
|
import org.springframework.dao.DuplicateKeyException;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Propagation;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import javax.annotation.Resource;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* Created by johnny on 17/12/15.
|
*/
|
@Service("opeApplyOrderService")
|
public class OpeApplyOrderServiceImpl implements OpeApplyOrderService {
|
|
private static Logger logger = Logger.getLogger(OpeApplyOrderService.class);
|
|
@Resource(name = "opeApplyOrderDao")
|
OpeApplyOrderDao opeApplyOrderDao;
|
|
@Transactional(propagation = Propagation.REQUIRED)
|
public List<OpeApplyOrder> getOpeApplyOrderList(Long opeOrderId, Long opeApplyId) {
|
try {
|
Map<String, Object> params = new HashMap<String, Object>();
|
params.put("opeOrderId", opeOrderId);
|
params.put("opeApplyId", opeApplyId);
|
return this.opeApplyOrderDao.getOpeApplyOrderList(params);
|
} catch (DataAccessException e) {
|
logger.error(e.getMessage(), e);
|
throw new BusinessException(ExceptionEnumCode.DB_ERR, MessageUtil.getMessageByCode(ExceptionEnumCode.DB_ERR.getCode()), e);
|
}
|
}
|
|
@Transactional(propagation = Propagation.REQUIRED)
|
public int getOpeApplyOrderTotalCount(Long opeOrderId, Long opeApplyId) {
|
try {
|
Map<String, Object> params = new HashMap<String, Object>();
|
params.put("opeOrderId", opeOrderId);
|
params.put("opeApplyId", opeApplyId);
|
return this.opeApplyOrderDao.getOpeApplyOrderTotalCount(params);
|
} catch (DataAccessException e) {
|
logger.error(e.getMessage(), e);
|
throw new BusinessException(ExceptionEnumCode.DB_ERR, MessageUtil.getMessageByCode(ExceptionEnumCode.DB_ERR.getCode()), e);
|
}
|
}
|
|
@Transactional(propagation = Propagation.REQUIRED)
|
public OpeApplyOrder insertOpeApplyOrder(OpeApplyOrder opeApplyOrder) {
|
try {
|
this.opeApplyOrderDao.insertOpeApplyOrder(opeApplyOrder);
|
return opeApplyOrder;
|
} catch (DuplicateKeyException ex) {
|
logger.warn(ex.getMessage(), ex);
|
throw new AlarmException(AlarmCode.DATA_DUPLICATE, MessageUtil.getMessage(AlarmCode.DATA_DUPLICATE.getCode()));
|
} catch (DataIntegrityViolationException ex) {
|
logger.warn(ex.getMessage(), ex);
|
throw new AlarmException(AlarmCode.DATA_CONFICT, MessageUtil.getMessage(AlarmCode.DATA_CONFICT.getCode()));
|
} catch (DataAccessException ex) {
|
logger.error(ex.getMessage(), ex);
|
throw new BusinessException(ExceptionEnumCode.DB_ERR, MessageUtil.getMessageByCode(ExceptionEnumCode.DB_ERR.getCode()), ex);
|
}
|
}
|
|
|
|
public int batchInsertOpeApplyOrder(List<OpeApplyOrder> opeApplyOrderList) {
|
try {
|
return this.opeApplyOrderDao.batchInsertOpeApplyOrder(opeApplyOrderList);
|
} catch (DuplicateKeyException ex) {
|
logger.warn(ex.getMessage(), ex);
|
throw new AlarmException(AlarmCode.DATA_DUPLICATE, MessageUtil.getMessage(AlarmCode.DATA_DUPLICATE.getCode()));
|
} catch (DataIntegrityViolationException ex) {
|
logger.warn(ex.getMessage(), ex);
|
throw new AlarmException(AlarmCode.DATA_CONFICT, MessageUtil.getMessage(AlarmCode.DATA_CONFICT.getCode()));
|
} catch (DataAccessException ex) {
|
logger.error(ex.getMessage(), ex);
|
throw new BusinessException(ExceptionEnumCode.DB_ERR, MessageUtil.getMessageByCode(ExceptionEnumCode.DB_ERR.getCode()), ex);
|
}
|
}
|
}
|