package com.iamberry.rst.service.scm; import com.github.pagehelper.PageHelper; import com.iamberry.rst.core.page.PagedResult; import com.iamberry.rst.core.scm.ScmOrderInfo; import com.iamberry.rst.core.scm.ScmOrderItem; import com.iamberry.rst.faces.scm.ScmOrderInfoService; import com.iamberry.rst.service.scm.mapper.ScmOrderInfoMapper; import com.iamberry.rst.service.scm.mapper.ScmOrderItemMapper; import com.iamberry.rst.util.PageUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** * 上朵定制-订单表接口 * @author xm * @Date 2019-02-19 */ @Service public class ScmOrderInfoServiceImpl implements ScmOrderInfoService { @Autowired private ScmOrderInfoMapper scmOrderInfoMapper; @Autowired private ScmOrderItemMapper scmOrderItemMapper; /** * 获取集合 * @param scmOrderInfo * @return List */ @Override public List getScmOrderInfoList(ScmOrderInfo scmOrderInfo){ return scmOrderInfoMapper.getScmOrderInfoList(scmOrderInfo); } @Override public PagedResult listScmOrderInfoPage(int pageNO, int pageSize, ScmOrderInfo scmOrderInfo, boolean isTotalNum) { PageHelper.startPage(pageNO, pageSize, isTotalNum); List list = scmOrderInfoMapper.getScmOrderInfoListPage(scmOrderInfo); return PageUtil.getPage(list); } /** * 查询单条数据 * @param id * @return scmOrderInfo */ @Override public ScmOrderInfo getScmOrderInfoById(Integer id){ return scmOrderInfoMapper.getScmOrderInfoById(id); } /** * 查询单条数据 * @param MadeId * @return scmOrderInfo */ @Override public ScmOrderInfo getScmOrderInfoByMadeId(String MadeId){ return scmOrderInfoMapper.getScmOrderInfoByMadeId(MadeId); } /** * 增加数据 * @param scmOrderInfo * @return Integer */ @Transactional @Override public Integer save(ScmOrderInfo scmOrderInfo){ Integer flag = scmOrderInfoMapper.save(scmOrderInfo); if(flag < 1){ throw new RuntimeException("添加订单失败"); } for (ScmOrderItem scmOrderItem:scmOrderInfo.getScmOrderItemList()) { scmOrderItem.setOrderId(scmOrderInfo.getOrderId()); } flag = scmOrderItemMapper.saveList(scmOrderInfo.getScmOrderItemList()); if(flag < 1){ throw new RuntimeException("添加订单项失败"); } return flag; } /** * 修改数据 * @param scmOrderInfo * @return Integer */ @Override @Transactional public Integer update(ScmOrderInfo scmOrderInfo){ Integer flag = scmOrderInfoMapper.update(scmOrderInfo); if(flag < 0){ throw new RuntimeException("修改订单失败"); } flag = scmOrderItemMapper.deleteByOrderId(scmOrderInfo.getOrderId()); if(flag < 0){ throw new RuntimeException("删除订单项失败"); } for (ScmOrderItem scmOrderItem:scmOrderInfo.getScmOrderItemList()) { scmOrderItem.setOrderId(scmOrderInfo.getOrderId()); } flag = scmOrderItemMapper.saveList(scmOrderInfo.getScmOrderItemList()); if(flag < 1){ throw new RuntimeException("添加订单项失败"); } return flag; } @Override public Integer updateStatus(ScmOrderInfo scmOrderInfo) { return scmOrderInfoMapper.updateStatus(scmOrderInfo); } /** * 删除数据 * @param id * @return Integer */ @Override @Transactional public Integer delete(Integer id){ Integer flag = scmOrderInfoMapper.delete(id); if(flag < 0){ throw new RuntimeException("删除订单失败"); } flag = scmOrderItemMapper.deleteByOrderId(id); if(flag < 0){ throw new RuntimeException("删除订单项失败"); } return flag; } }