ScmOrderInfoServiceImpl.java 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. package com.iamberry.rst.service.scm;
  2. import com.github.pagehelper.PageHelper;
  3. import com.iamberry.rst.core.page.PagedResult;
  4. import com.iamberry.rst.core.scm.ScmOrderInfo;
  5. import com.iamberry.rst.core.scm.ScmOrderItem;
  6. import com.iamberry.rst.faces.scm.ScmOrderInfoService;
  7. import com.iamberry.rst.service.scm.mapper.ScmOrderInfoMapper;
  8. import com.iamberry.rst.service.scm.mapper.ScmOrderItemMapper;
  9. import com.iamberry.rst.util.PageUtil;
  10. import org.springframework.beans.factory.annotation.Autowired;
  11. import org.springframework.stereotype.Service;
  12. import org.springframework.transaction.annotation.Transactional;
  13. import java.util.List;
  14. /**
  15. * 上朵定制-订单表接口
  16. * @author xm
  17. * @Date 2019-02-19
  18. */
  19. @Service
  20. public class ScmOrderInfoServiceImpl implements ScmOrderInfoService {
  21. @Autowired
  22. private ScmOrderInfoMapper scmOrderInfoMapper;
  23. @Autowired
  24. private ScmOrderItemMapper scmOrderItemMapper;
  25. /**
  26. * 获取集合
  27. * @param scmOrderInfo
  28. * @return List
  29. */
  30. @Override
  31. public List<ScmOrderInfo> getScmOrderInfoList(ScmOrderInfo scmOrderInfo){
  32. return scmOrderInfoMapper.getScmOrderInfoList(scmOrderInfo);
  33. }
  34. @Override
  35. public PagedResult<ScmOrderInfo> listScmOrderInfoPage(int pageNO, int pageSize, ScmOrderInfo scmOrderInfo, boolean isTotalNum) {
  36. PageHelper.startPage(pageNO, pageSize, isTotalNum);
  37. List<ScmOrderInfo> list = scmOrderInfoMapper.getScmOrderInfoListPage(scmOrderInfo);
  38. return PageUtil.getPage(list);
  39. }
  40. /**
  41. * 查询单条数据
  42. * @param id
  43. * @return scmOrderInfo
  44. */
  45. @Override
  46. public ScmOrderInfo getScmOrderInfoById(Integer id){
  47. return scmOrderInfoMapper.getScmOrderInfoById(id);
  48. }
  49. /**
  50. * 查询单条数据
  51. * @param MadeId
  52. * @return scmOrderInfo
  53. */
  54. @Override
  55. public ScmOrderInfo getScmOrderInfoByMadeId(String MadeId){
  56. return scmOrderInfoMapper.getScmOrderInfoByMadeId(MadeId);
  57. }
  58. /**
  59. * 增加数据
  60. * @param scmOrderInfo
  61. * @return Integer
  62. */
  63. @Transactional
  64. @Override
  65. public Integer save(ScmOrderInfo scmOrderInfo){
  66. Integer flag = scmOrderInfoMapper.save(scmOrderInfo);
  67. if(flag < 1){
  68. throw new RuntimeException("添加订单失败");
  69. }
  70. for (ScmOrderItem scmOrderItem:scmOrderInfo.getScmOrderItemList()) {
  71. scmOrderItem.setOrderId(scmOrderInfo.getOrderId());
  72. }
  73. flag = scmOrderItemMapper.saveList(scmOrderInfo.getScmOrderItemList());
  74. if(flag < 1){
  75. throw new RuntimeException("添加订单项失败");
  76. }
  77. return flag;
  78. }
  79. /**
  80. * 修改数据
  81. * @param scmOrderInfo
  82. * @return Integer
  83. */
  84. @Override
  85. @Transactional
  86. public Integer update(ScmOrderInfo scmOrderInfo){
  87. Integer flag = scmOrderInfoMapper.update(scmOrderInfo);
  88. if(flag < 0){
  89. throw new RuntimeException("修改订单失败");
  90. }
  91. flag = scmOrderItemMapper.deleteByOrderId(scmOrderInfo.getOrderId());
  92. if(flag < 0){
  93. throw new RuntimeException("删除订单项失败");
  94. }
  95. for (ScmOrderItem scmOrderItem:scmOrderInfo.getScmOrderItemList()) {
  96. scmOrderItem.setOrderId(scmOrderInfo.getOrderId());
  97. }
  98. flag = scmOrderItemMapper.saveList(scmOrderInfo.getScmOrderItemList());
  99. if(flag < 1){
  100. throw new RuntimeException("添加订单项失败");
  101. }
  102. return flag;
  103. }
  104. @Override
  105. public Integer updateStatus(ScmOrderInfo scmOrderInfo) {
  106. return scmOrderInfoMapper.updateStatus(scmOrderInfo);
  107. }
  108. /**
  109. * 删除数据
  110. * @param id
  111. * @return Integer
  112. */
  113. @Override
  114. @Transactional
  115. public Integer delete(Integer id){
  116. Integer flag = scmOrderInfoMapper.delete(id);
  117. if(flag < 0){
  118. throw new RuntimeException("删除订单失败");
  119. }
  120. flag = scmOrderItemMapper.deleteByOrderId(id);
  121. if(flag < 0){
  122. throw new RuntimeException("删除订单项失败");
  123. }
  124. return flag;
  125. }
  126. }