Commit c707143e authored by shiyu's avatar shiyu

定时任务检测团购结束

parent 5d2e2de9
...@@ -381,4 +381,34 @@ public class GroupPurchaseServiceImpl implements GroupPurchaseService { ...@@ -381,4 +381,34 @@ public class GroupPurchaseServiceImpl implements GroupPurchaseService {
} }
return Result.failed("团购订单账单计算失败"); return Result.failed("团购订单账单计算失败");
} }
@Override
public Result systemAddRecord(GroupPurchaseRecordRequestDto dto) {
try {
if (dto.getItemNum() <= 0) {
return Result.failed("团购数量不正确");
}
long itemId = dto.getItemId();
GroupPurchaseConfig groupPurchaseConfig = groupPurchaseConfigDao.findByItemId(itemId);
int targetNum = groupPurchaseConfig.getTargetNum();
//保存众筹记录
String depositPayId = IdUtils.getOrderNumber(CommConsts.GROUPPURCHASE_DEPOSIT_PREFIX);
GroupPurchaseRecord groupPurchaseRecord = new GroupPurchaseRecord();
groupPurchaseRecord.setDepositPayId(depositPayId);
groupPurchaseRecord.setDistributionOrderId(depositPayId);
groupPurchaseRecord.setPrepayId(depositPayId);
groupPurchaseRecord.setItemId(dto.getItemId());
groupPurchaseRecord.setItemNum(dto.getItemNum());
groupPurchaseRecord.setUserId(CommConsts.SYSTEM_ACCOUNT);
groupPurchaseRecord.setUserOpenid(CommConsts.SYSTEM_ACCOUNT.toString());
groupPurchaseRecord.setAmount(groupPurchaseConfig.getPrice());
groupPurchaseRecord.setState(GroupPurchaseEnum.StateEnum.VALID.getCode());
groupPurchaseRecordDao.insert(groupPurchaseRecord);
return Result.success();
} catch (Exception e) {
logger.error("系统增加团购记录 error : {}", e);
}
return Result.failed();
}
} }
...@@ -98,6 +98,8 @@ public class GroupPurchaseJob { ...@@ -98,6 +98,8 @@ public class GroupPurchaseJob {
checkProcessGroupPurchase(); checkProcessGroupPurchase();
//查询已经结束,还未处理订单的团购商品 //查询已经结束,还未处理订单的团购商品
checkEndGroupPurchase(); checkEndGroupPurchase();
//团购进度通知
rateNotice();
} catch (Exception e) { } catch (Exception e) {
logger.error("检测团购进度任务 error:{}", e); logger.error("检测团购进度任务 error:{}", e);
} finally { } finally {
...@@ -142,18 +144,20 @@ public class GroupPurchaseJob { ...@@ -142,18 +144,20 @@ public class GroupPurchaseJob {
flag = false; flag = false;
} }
for (GroupPurchaseRecord groupPurchaseRecord : groupPurchaseRecordList) { for (GroupPurchaseRecord groupPurchaseRecord : groupPurchaseRecordList) {
if (groupPurchaseRecord.getUserId() == CommConsts.SYSTEM_ACCOUNT.longValue()) { if (groupPurchaseRecord.getUserId() == CommConsts.SYSTEM_ACCOUNT.longValue() || !groupPurchaseRecord.getDistributionOrderId().startsWith(CommConsts.DISTRIBUTION_ORDER_PREFIX)) {
//系统为了团购成功插入的假数据不用处理 //系统为了团购成功插入的假数据不用处理
continue; continue;
} }
String distributionOrderId = groupPurchaseRecord.getDistributionOrderId(); String distributionOrderId = groupPurchaseRecord.getDistributionOrderId();
if (flag) { if (flag) {
//更改订单的状态为待发货 //更改订单的状态为待发货
logger.info(">>>>>>>> 订单id:{}, 商品id:{}, 团购成功,订单状态为待发货 <<<<<<<<", distributionOrderId, itemId);
distributionOrderDao.updateState(distributionOrderId, DistributionEnum.DistributionOrderStateEnum.PRE_SEND.getCode()); distributionOrderDao.updateState(distributionOrderId, DistributionEnum.DistributionOrderStateEnum.PRE_SEND.getCode());
} else { } else {
GroupPurchaseRecordRequestDto groupPurchaseRecordRequestDto = new GroupPurchaseRecordRequestDto(); GroupPurchaseRecordRequestDto groupPurchaseRecordRequestDto = new GroupPurchaseRecordRequestDto();
groupPurchaseRecordRequestDto.setDistributionOrderId(groupPurchaseRecord.getDistributionOrderId()); groupPurchaseRecordRequestDto.setDistributionOrderId(groupPurchaseRecord.getDistributionOrderId());
groupPurchaseService.cancelOrder(groupPurchaseRecordRequestDto); groupPurchaseService.cancelOrder(groupPurchaseRecordRequestDto);
logger.info(">>>>>>>> 订单id:{}, 商品id:{}, 团购失败,取消订单 <<<<<<<<", distributionOrderId, itemId);
} }
} }
groupPurchaseConfigDao.updateDealByPrimaryKey(groupPurchaseConfig.getId(), true); groupPurchaseConfigDao.updateDealByPrimaryKey(groupPurchaseConfig.getId(), true);
......
...@@ -40,15 +40,10 @@ public interface GroupPurchaseService { ...@@ -40,15 +40,10 @@ public interface GroupPurchaseService {
*/ */
Result<GroupPurchaseInfo> checkGroupPurchase(GroupPurchaseRecordRequestDto dto); Result<GroupPurchaseInfo> checkGroupPurchase(GroupPurchaseRecordRequestDto dto);
/* *//** /**
* 支付团购订单尾款 * 系统增加团购记录,促成团购成功
* @param dto
* @return * @return
*//* */
Result payBalance(GroupPurchaseRecordRequestDto dto);*/ Result systemAddRecord(GroupPurchaseRecordRequestDto dto);
// Result calculateProfit(GroupPurchaseRecordRequestDto dto);
} }
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