26fa4944060abb86e9c524c77e351fe56d9e42ae.svn-base 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. package com.chinacreator.process.service;
  2. import java.util.List;
  3. import org.apache.commons.lang.math.NumberUtils;
  4. import org.apache.log4j.Logger;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.stereotype.Component;
  7. import com.chinacreator.common.exception.BusinessException;
  8. import com.chinacreator.process.bean.OrderBean;
  9. import com.chinacreator.process.dao.NewYearActiveDao;
  10. @Component
  11. public class ComOrderService {
  12. private static Logger log = Logger.getLogger(ComOrderService.class);
  13. @Autowired
  14. private OrderService orderService;
  15. @Autowired
  16. private NewYearActiveDao newYearctiveDao;
  17. public void order(OrderBean orderBean) throws Exception {
  18. List<OrderBean> oldOrderBeans = newYearctiveDao.existUser(orderBean.getUserid(), orderBean.getCpid(),
  19. orderBean.getSpid());
  20. log.info("oldOrderBeans数目:" + oldOrderBeans.size());
  21. if (oldOrderBeans == null || oldOrderBeans.size() == 0) {
  22. orderBean.setFlowstatus("1");
  23. orderBean.setVipstatus("2");
  24. newYearctiveDao.insertBeans(orderBean);
  25. } else if (oldOrderBeans.size() == 1 && oldOrderBeans.get(0).getActiveType() == orderBean.getActiveType()) {
  26. OrderBean oldOrderBean = oldOrderBeans.get(0);
  27. if (oldOrderBean.getOrderType().equals("0")) {
  28. throw new BusinessException("9040", "队列入库失败,重复订购");
  29. } else {
  30. throw new BusinessException("9044", "队列入库失败,已参加过活动");
  31. }
  32. } else {
  33. for (OrderBean oldOrderBean : oldOrderBeans) {
  34. if ((oldOrderBean.getEndtime() == null && !oldOrderBean.getOrderType().equals("3")) || ((oldOrderBean.getEndtime() != null)
  35. && (NumberUtils.toLong(oldOrderBean.getEndtime()) > NumberUtils
  36. .toLong(orderBean.getUpdateTime().substring(0, 6))))) {
  37. throw new BusinessException("9045", "队列入库失败,活动互斥");
  38. }
  39. if (oldOrderBean.getActiveType() == orderBean.getActiveType()) {
  40. throw new BusinessException("9045", "队列入库失败,已参加活动");
  41. }
  42. if (oldOrderBean.getOrderType().equals("3")) {
  43. if(oldOrderBean.getActiveType() == orderBean.getActiveType()){
  44. newYearctiveDao.UpdateRelations(oldOrderBean);
  45. }
  46. }
  47. }
  48. orderBean.setFlowstatus("1");
  49. orderBean.setVipstatus("2");
  50. newYearctiveDao.insertBeans(orderBean);
  51. }
  52. }
  53. public void cancel(OrderBean orderBean) throws Exception {
  54. List<OrderBean> oldOrderBeans = newYearctiveDao.existUser(orderBean.getUserid(), orderBean.getCpid(),
  55. orderBean.getSpid());
  56. if (oldOrderBeans == null || oldOrderBeans.size() == 0) {
  57. throw new BusinessException("9041", "队列入库失败,活动无该退订用户");
  58. } else {
  59. if (oldOrderBeans.size() == 1) {
  60. OrderBean oldOrderBean = oldOrderBeans.get(0);
  61. if (oldOrderBean.getActiveType() == 0) {
  62. orderService.cancel(orderBean);
  63. } else {
  64. if (!oldOrderBean.getOrderType().equals("0")) {
  65. throw new BusinessException("9042", "队列入库失败,重复退订");
  66. }
  67. if (NumberUtils.toLong(orderBean.getUpdateTime()) <= NumberUtils
  68. .toLong(oldOrderBean.getUpdateTime())) {
  69. throw new BusinessException("9033", "队列入库失败,退订时间晚于订购时间");
  70. }
  71. orderBean.setId(oldOrderBean.getId());
  72. newYearctiveDao.cancelOrder(orderBean);
  73. }
  74. } else if (oldOrderBeans.size() == 2) {
  75. OrderBean oldOrderBean = null;
  76. for (OrderBean orderBean2 : oldOrderBeans) {
  77. if (orderBean2.getActiveType() == 1) {
  78. oldOrderBean = orderBean2;
  79. }
  80. }
  81. if (!oldOrderBean.getOrderType().equals("0")) {
  82. throw new BusinessException("9043", "队列入库失败,重复退订");
  83. }
  84. if (NumberUtils.toLong(orderBean.getUpdateTime()) <= NumberUtils.toLong(oldOrderBean.getUpdateTime())) {
  85. throw new BusinessException("9033", "队列入库失败,退订时间晚于订购时间");
  86. }
  87. orderBean.setId(oldOrderBean.getId());
  88. newYearctiveDao.cancelOrder(orderBean);
  89. }
  90. }
  91. }
  92. }