|
@@ -27,44 +27,29 @@ public class BuyService {
|
|
|
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
|
|
|
public int buyGroup(Buy buy) {
|
|
|
Buy buy1 = buyMapper.selectBuyOne(buy.getUserId(), buy.getJmId());
|
|
|
- JmTuangou roleType = jmTuangouDao.getSelectOneRoleId(buy.getJmId());
|
|
|
- if (buy1 != null) {
|
|
|
- JmTuangou jmTuangou = jmTuangouDao.selectJmTuangouByJmId(buy1.getJmId());
|
|
|
- Buy buy2 = buyMapper.selectById(buy1.getBuyId());
|
|
|
- if (roleType.getRoleType() != 1) {
|
|
|
- if (jmTuangou.getTgMaxNum().intValue() >= jmTuangou.getCurrentNum().intValue() - buy2.getBuyCount().intValue() + buy.getBuyCount().intValue()) {
|
|
|
- //个人限额(指挥部的限额 和 管理员的限额)
|
|
|
- if (roleType.getTgItemNum().intValue() != 0 && roleType.getTgItemNum().intValue() < buy.getBuyCount().intValue()) {
|
|
|
- return 4;
|
|
|
- }
|
|
|
- buy.setBuyId(buy1.getBuyId());
|
|
|
- return buyMapper.updateById(buy);
|
|
|
- } else {
|
|
|
- return 3;//不允许更改团购数量
|
|
|
- }
|
|
|
- } else {
|
|
|
- //指挥部的更改
|
|
|
- //个人限额(指挥部的限额 和 管理员的限额)
|
|
|
- if (roleType.getTgItemNum().intValue() != 0 && roleType.getTgItemNum().intValue() < buy.getBuyCount().intValue()) {
|
|
|
- return 4;
|
|
|
- }
|
|
|
- buy.setBuyId(buy1.getBuyId());
|
|
|
- return buyMapper.updateById(buy);
|
|
|
- }
|
|
|
- }
|
|
|
- //1 是指挥部
|
|
|
- if (roleType.getRoleType() != 1) {
|
|
|
- //第一次购买团购数量大于最大上限数量不允许
|
|
|
- JmTuangou jmTuangou = jmTuangouDao.selectJmTuangouByJmId(buy.getJmId());
|
|
|
- if (jmTuangou.getTgMaxNum().intValue() < jmTuangou.getCurrentNum().intValue() + buy.getBuyCount().intValue()) {
|
|
|
+ JmTuangou jmTuangou = jmTuangouDao.selectJmTuangouByJmId(buy.getJmId());//团购主表
|
|
|
+ if (buy1 != null) {//判断是否是第一次添加
|
|
|
+ //JmTuangou jmTuangou = jmTuangouDao.selectJmTuangouByJmId(buy.getJmId());
|
|
|
+
|
|
|
+ //最大上限有的话就遵循
|
|
|
+ if (jmTuangou.getTgMaxNum().intValue() != 0 && jmTuangou.getTgMaxNum().intValue() < jmTuangou.getCurrentNum().intValue() + buy.getBuyCount().intValue()) {
|
|
|
return 3;
|
|
|
}
|
|
|
+ //单人限额有的话的遵循
|
|
|
+ if (jmTuangou.getTgItemNum().intValue() != 0 && jmTuangou.getTgItemNum().intValue() < buy.getBuyCount().intValue()) {
|
|
|
+ return 4;
|
|
|
+ }
|
|
|
+ buy.setBuyId(buy1.getBuyId());
|
|
|
+ return buyMapper.updateById(buy);
|
|
|
}
|
|
|
- //个人限额(指挥部的限额 和 管理员的限额)
|
|
|
- if (roleType.getTgItemNum().intValue() != 0 && roleType.getTgItemNum().intValue() < buy.getBuyCount().intValue()) {
|
|
|
+ //最大上限有的话就遵循
|
|
|
+ if (jmTuangou.getTgMaxNum() != 0 && jmTuangou.getTgMaxNum().intValue() < jmTuangou.getCurrentNum().intValue() + buy.getBuyCount().intValue()) {
|
|
|
+ return 3;
|
|
|
+ }
|
|
|
+ //单人限额有的话的遵循
|
|
|
+ if (jmTuangou.getTgItemNum().intValue() != 0 && jmTuangou.getTgItemNum().intValue() < buy.getBuyCount().intValue()) {
|
|
|
return 4;
|
|
|
}
|
|
|
-
|
|
|
buy.setBuyId(IdWorker.getId());
|
|
|
buy.setUserCreate(buy.getUserId());
|
|
|
buy.setTimeCreate(new DateTime());
|
|
@@ -114,38 +99,35 @@ public class BuyService {
|
|
|
//截止日期状态的更改
|
|
|
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
|
|
|
public int updateStatus() {
|
|
|
+ //团购的在团状态
|
|
|
List<JmTuangou> jmTuangous = jmTuangouDao.selectAll();
|
|
|
if (jmTuangous != null && jmTuangous.size() > 0) {
|
|
|
for (JmTuangou list : jmTuangous) {
|
|
|
- //判断是指挥部还是管理员
|
|
|
- if (list.getRoleType() == 1) {
|
|
|
- if (list.getTgEndTime().getTime() < new DateTime().getMillis()) {
|
|
|
- jmTuangouDao.updateStatusByJmId(list.getJmId(), 2L);//发货
|
|
|
- }
|
|
|
- } else {
|
|
|
- // 团购数量 最小起订量
|
|
|
+ //到了截止日期
|
|
|
+ if (list.getTgEndTime().getTime() < new DateTime().getMillis()) {
|
|
|
+ //已经到了截止日期 判断有没有人购买
|
|
|
Buy buy = buyMapper.selectCountNum(list.getJmId());
|
|
|
- //已经到截止时间
|
|
|
- if (list.getTgEndTime().getTime() < new DateTime().getMillis()) {
|
|
|
-
|
|
|
- if (buy != null) { //最小起订量
|
|
|
- if (list.getTgMinNum().longValue() > buy.getCount().longValue()) {
|
|
|
- jmTuangouDao.updateStatusByJmId(list.getJmId(), 4L);//取消
|
|
|
+ if (buy.getCount().intValue() > 0) {
|
|
|
+ //判断是否有最小起订量 只有达到最小量的并且是到截止时间的
|
|
|
+ if (list.getTgMinNum().intValue() != 0) {
|
|
|
+ if (buy.getCount().intValue() >= list.getTgMinNum().intValue()) {
|
|
|
+ if (buy.getCount().intValue() == 0 && list.getTgMinNum().intValue() == 0) {
|
|
|
+ jmTuangouDao.updateStatusByJmId(list.getJmId(), 4L);//取消
|
|
|
+ } else if (buy.getCount().intValue() != 0) {
|
|
|
+ jmTuangouDao.updateStatusByJmId(list.getJmId(), 2L);//发货
|
|
|
+ }
|
|
|
} else {
|
|
|
- jmTuangouDao.updateStatusByJmId(list.getJmId(), 2L);//发货
|
|
|
+ jmTuangouDao.updateStatusByJmId(list.getJmId(), 4L);//取消
|
|
|
}
|
|
|
} else {
|
|
|
- jmTuangouDao.updateStatusByJmId(list.getJmId(), 4L);//取消
|
|
|
+ jmTuangouDao.updateStatusByJmId(list.getJmId(), 2L);//发货
|
|
|
}
|
|
|
- } /*else {
|
|
|
- //团购数量已经过了最大起订量的 就直接发货
|
|
|
- if (buy != null) {
|
|
|
- if (list.getTgMaxNum().intValue() == buy.getCount().intValue()) {
|
|
|
- jmTuangouDao.updateStatusByJmId(list.getJmId(), 2L);//发货
|
|
|
- }
|
|
|
- }
|
|
|
- }*/
|
|
|
- }
|
|
|
+ } else {
|
|
|
+ //已经到截止日期但是没人购买就取消
|
|
|
+ jmTuangouDao.updateStatusByJmId(list.getJmId(), 4L);//取消
|
|
|
+ }
|
|
|
+
|
|
|
+ }//已经到截止日期
|
|
|
}
|
|
|
}
|
|
|
return 1;
|