From 7ac0b5be02902a96bd1feb658e41a9b69fa50738 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 29 六月 2024 01:37:31 +0800 Subject: [PATCH] 功能完善 --- src/main/java/com/taoke/autopay/service/impl/KeyOrderServiceImpl.java | 44 +++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 43 insertions(+), 1 deletions(-) diff --git a/src/main/java/com/taoke/autopay/service/impl/KeyOrderServiceImpl.java b/src/main/java/com/taoke/autopay/service/impl/KeyOrderServiceImpl.java index 9ed3534..182e135 100644 --- a/src/main/java/com/taoke/autopay/service/impl/KeyOrderServiceImpl.java +++ b/src/main/java/com/taoke/autopay/service/impl/KeyOrderServiceImpl.java @@ -1,11 +1,18 @@ package com.taoke.autopay.service.impl; import com.taoke.autopay.dao.KeyOrderMapper; +import com.taoke.autopay.dao.WxUserSettingsMapper; import com.taoke.autopay.entity.KeyOrder; +import com.taoke.autopay.entity.OrderCountTypeEnum; import com.taoke.autopay.entity.OrderDistributeCountInfo; +import com.taoke.autopay.entity.WxUserSettings; import com.taoke.autopay.exception.KeyOrderException; +import com.taoke.autopay.exception.WxOrderCountException; import com.taoke.autopay.factory.OrderFactory; import com.taoke.autopay.service.KeyOrderService; +import com.taoke.autopay.service.WxUserOrderCountService; +import com.taoke.autopay.service.WxUserSettingService; +import com.taoke.autopay.utils.TimeUtil; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -24,14 +31,26 @@ @Resource private KeyOrderMapper keyOrderMapper; + @Resource + private WxUserSettingService wxUserSettingService; + + @Resource + private WxUserOrderCountService wxUserOrderCountService; + @Override public KeyOrder selectById(String id) { return keyOrderMapper.selectById(id); } + @Transactional(rollbackFor = Exception.class) @Override - public KeyOrder addKeyOrder(String key) throws KeyOrderException { + public KeyOrder addKeyOrder(String key, Long uid, String day) throws KeyOrderException, WxOrderCountException { + // 鍒ゆ柇鎻愪氦娆℃暟鏄惁杩囬噺 + if (uid != null) { + WxUserSettings settings = wxUserSettingService.selectByUid(uid); + wxUserOrderCountService.addOrderCount(uid, OrderCountTypeEnum.SUBMIT_TOKEN_COUNT, day, 1, settings.getTotalOrderCountPerDay()); + } String id = OrderFactory.createId(key); KeyOrder order = keyOrderMapper.selectById(id); if (order != null) { @@ -40,10 +59,13 @@ order = new KeyOrder(); order.setId(id); order.setKey(key); + order.setUid(uid); order.setState(KeyOrder.STATE_NOT_PROCESS); order.setStateDesc("灏氭湭澶勭悊"); order.setCreateTime(new Date()); keyOrderMapper.insertSelective(order); + + return order; } @@ -65,6 +87,26 @@ @Transactional(rollbackFor = Exception.class) @Override + public void paySuccess(String id, String stateDesc,String day) throws WxOrderCountException { + KeyOrder old = keyOrderMapper.selectByPrimaryKeyForUpdate(id); + if(old==null){ + return; + } + if(old.getState() == KeyOrder.STATE_PAY){ + return; + } + if(old.getUid()!=null) { + wxUserOrderCountService.addOrderCount(old.getUid(),OrderCountTypeEnum.DY_ORDER_PAY,day,1,null); + } + KeyOrder orderUpdate = new KeyOrder(); + orderUpdate.setId(id); + orderUpdate.setState(KeyOrder.STATE_PAY); + orderUpdate.setStateDesc(stateDesc); + update(orderUpdate); + } + + @Transactional(rollbackFor = Exception.class) + @Override public void setOrderInfo(String id, String orderNo, int orderState) throws KeyOrderException { KeyOrder old = keyOrderMapper.selectByPrimaryKeyForUpdate(id); if (old == null) { -- Gitblit v1.8.0