4a449fb9bdda3d8bebfbae03bf7e78719d841b35.svn-base 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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 BestvOrderService {
  12. private static Logger log = Logger.getLogger(BestvOrderService.class);
  13. @Autowired
  14. private NewYearActiveDao newYearctiveDao;
  15. public void order(OrderBean orderBean) throws Exception {
  16. List<OrderBean> oldOrderBeans = newYearctiveDao.existUserBestv(orderBean.getUserid(), orderBean.getCpid(),
  17. orderBean.getSpid());
  18. log.info("oldOrderBeans数目:" + oldOrderBeans.size());
  19. orderBean.setIscharge("2");
  20. if (oldOrderBeans == null || oldOrderBeans.size() == 0) {
  21. orderBean.setFlowstatus("8");
  22. orderBean.setVipstatus("2");
  23. newYearctiveDao.insertBeansBestv(orderBean);
  24. } else if (oldOrderBeans.size() == 1 && oldOrderBeans.get(0).getActiveType() == orderBean.getActiveType()) {
  25. OrderBean oldOrderBean = oldOrderBeans.get(0);
  26. if (oldOrderBean.getOrderType().equals("0")) {//已订购
  27. throw new BusinessException("9040", "队列入库失败,重复订购");
  28. } else {//退订或者老用户
  29. orderBean.setId(oldOrderBean.getId());
  30. if(NumberUtils.toLong(oldOrderBean.getEndtime()) >= NumberUtils.toLong(orderBean.getUpdateTime())){
  31. orderBean.setVipstatus(oldOrderBean.getVipstatus());
  32. newYearctiveDao.UpdateRelationsBestv(orderBean);
  33. }else{
  34. orderBean.setVipstatus("2");
  35. newYearctiveDao.UpdateRelationsBestv(orderBean);
  36. }
  37. }
  38. }
  39. }
  40. public void cancel(OrderBean orderBean) throws Exception {
  41. List<OrderBean> oldOrderBeans = newYearctiveDao.existUserBestv(orderBean.getUserid(), orderBean.getCpid(),
  42. orderBean.getSpid());
  43. if (oldOrderBeans == null || oldOrderBeans.size() == 0) {
  44. throw new BusinessException("9041", "退订失败,活动无该用户");
  45. } else {
  46. if (oldOrderBeans.size() == 1) {
  47. OrderBean oldOrderBean = oldOrderBeans.get(0);
  48. if (oldOrderBean.getOrderType().equals("0")) {
  49. orderBean.setId(oldOrderBean.getId());
  50. newYearctiveDao.cancelOrderBestv(orderBean);
  51. } else {
  52. throw new BusinessException("9042", "队列入库失败,重复退订");
  53. }
  54. }
  55. }
  56. }
  57. }