Commit 9906ac5e authored by shiyu's avatar shiyu

团购结束后,团购的件数仍然展示

parent bff41a44
......@@ -24,7 +24,8 @@ public interface GroupPurchaseRecordDao {
int updateByPrimaryKey(GroupPurchaseRecord groupPurchaseRecord);
int updateByOrderId(String distributionOrderId, int state);
int updateByOrderId(GroupPurchaseRecord groupPurchaseRecord);
/**
* 统计当前商品已经团购的件数
......
......@@ -55,13 +55,11 @@ public class GroupPurchaseRecordDaoImpl implements GroupPurchaseRecordDao {
}
@Override
public int updateByOrderId(String distributionOrderId, int state) {
GroupPurchaseRecord groupPurchaseRecord = new GroupPurchaseRecord();
groupPurchaseRecord.setState(state);
public int updateByOrderId(GroupPurchaseRecord groupPurchaseRecord) {
groupPurchaseRecord.setUpdateTime(new Date());
GroupPurchaseRecordExample example = new GroupPurchaseRecordExample();
GroupPurchaseRecordExample.Criteria criteria = example.createCriteria();
criteria.andDistributionOrderIdEqualTo(distributionOrderId);
criteria.andDistributionOrderIdEqualTo(groupPurchaseRecord.getDistributionOrderId());
return groupPurchaseRecordMapper.updateByExampleSelective(groupPurchaseRecord, example);
}
......@@ -71,7 +69,7 @@ public class GroupPurchaseRecordDaoImpl implements GroupPurchaseRecordDao {
GroupPurchaseRecordExample.Criteria criteria = example.createCriteria();
JdbcHelper.ifPresent(dto.getItemId(), criteria::andItemIdEqualTo);
JdbcHelper.ifPresent(dto.getUserId(), criteria::andUserIdEqualTo);
criteria.andStateEqualTo(1);
criteria.andTransactionIdIsNotNull();
return groupPurchaseRecordMapper.summaryItemNum(example);
}
......@@ -82,7 +80,7 @@ public class GroupPurchaseRecordDaoImpl implements GroupPurchaseRecordDao {
GroupPurchaseRecordExample.Criteria criteria = example.createCriteria();
JdbcHelper.ifPresent(dto.getItemId(), criteria::andItemIdEqualTo);
JdbcHelper.ifPresent(dto.getUserId(), criteria::andUserIdEqualTo);
criteria.andStateEqualTo(1);
criteria.andTransactionIdIsNotNull();
return groupPurchaseRecordMapper.selectByExampleSelective(example, GroupPurchaseRecord.Column.userId);
}
......
......@@ -481,7 +481,11 @@ public class WxPayCallbackController {
distributionOrderDao.update(distributionOrderDto);
//团购记录状态更新为有效
groupPurchaseRecordDao.updateByOrderId(distributionOrderId, GroupPurchaseEnum.StateEnum.VALID.getCode());
GroupPurchaseRecord groupPurchaseRecord = new GroupPurchaseRecord();
groupPurchaseRecord.setDistributionOrderId(distributionOrderId);
groupPurchaseRecord.setTransactionId(transactionId);
groupPurchaseRecord.setState(GroupPurchaseEnum.StateEnum.VALID.getCode());
groupPurchaseRecordDao.updateByOrderId(groupPurchaseRecord);
//用户付款成功后,把分销商利润的记录更新为有效,因为未付款前只是创建了预计利润记录,但并未生效
distributorProfitDao.updateValidState(distributionOrderId, true);
......
......@@ -506,6 +506,7 @@ public class DistributionOrderServiceImpl implements DistributionOrderService {
GroupPurchaseRecordRequestDto groupPurchaseRecordRequestDto = new GroupPurchaseRecordRequestDto();
groupPurchaseRecordRequestDto.setItemId(itemId);
groupPurchaseRecordRequestDto.setUserId(dto.getUserId());
groupPurchaseRecordRequestDto.setState(GroupPurchaseEnum.StateEnum.VALID.getCode());
long buyNum = groupPurchaseRecordDao.summaryItemNum(groupPurchaseRecordRequestDto);
GroupPurchaseConfig groupPurchaseConfig = groupPurchaseConfigDao.findByItemId(itemId);
......
......@@ -285,13 +285,17 @@ public class GroupPurchaseServiceImpl implements GroupPurchaseService {
@Override
public Result<GroupPurchaseInfo> checkGroupPurchase(GroupPurchaseRecordRequestDto dto) {
try {
//查询团购配置信息
GroupPurchaseConfig groupPurchaseConfig = groupPurchaseConfigDao.findByItemId(dto.getItemId());
if (groupPurchaseConfig.getState() == GroupPurchaseEnum.ItemStateEnum.PROCESSING.getCode()) {
dto.setState(GroupPurchaseEnum.StateEnum.VALID.getCode());
}
//查询当前团购的商品数量
long itemNum = groupPurchaseRecordDao.summaryItemNum(dto);
List<GroupPurchaseRecord> groupPurchaseRecords = groupPurchaseRecordDao.countPeople(dto);
long peopleNum = groupPurchaseRecords.size();
//查询团购配置信息
GroupPurchaseConfig groupPurchaseConfig = groupPurchaseConfigDao.findByItemId(dto.getItemId());
int targetNum = groupPurchaseConfig.getTargetNum();
GroupPurchaseInfo groupPurchaseInfo = new GroupPurchaseInfo();
if (itemNum >= targetNum) {
......
......@@ -89,7 +89,7 @@ public class WxPayServiceTest {
@Test
public void refund() {
List<String> list = Arrays.asList("DA2407171559445071432");
List<String> list = Arrays.asList("DA2408051039336454469", "DA2408051034105047546", "DA2408051029437697434");
list.forEach(orderId ->{
DistributionOrderRequestDto dto = new DistributionOrderRequestDto();
dto.setDistributionOrderId(orderId);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment