| | |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import cn.hutool.core.date.DateUnit; |
| | | import cn.hutool.core.date.DateUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.xcong.excoin.common.contants.AppContants; |
| | | import com.xcong.excoin.modules.member.dao.MemberWalletCoinDao; |
| | | import com.xcong.excoin.modules.member.entity.MemberWalletCoinEntity; |
| | | import com.xcong.excoin.modules.otc.dao.OtcEntrustOrderDao; |
| | | import com.xcong.excoin.modules.otc.dao.OtcMarketBussinessDao; |
| | | import com.xcong.excoin.modules.otc.dao.OtcOrderDao; |
| | | import com.xcong.excoin.modules.otc.dao.OtcSettingDao; |
| | | import com.xcong.excoin.modules.otc.entity.OtcEntrustOrder; |
| | | import com.xcong.excoin.modules.otc.entity.OtcMarketBussiness; |
| | | import com.xcong.excoin.modules.otc.entity.OtcOrder; |
| | | import com.xcong.excoin.modules.otc.entity.OtcSetting; |
| | | import com.xcong.excoin.modules.otc.service.OtcOrderService; |
| | | import com.xcong.excoin.utils.RedisUtils; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; |
| | |
| | | private OtcMarketBussinessDao otcMarketBussinessDao; |
| | | @Autowired |
| | | private MemberWalletCoinDao memberWalletCoinDao; |
| | | |
| | | @Autowired |
| | | private OtcSettingDao otcSettingDao; |
| | | @Autowired |
| | | private RedisUtils redisUtils; |
| | | |
| | | @Scheduled(cron = "0/1 * * * * ? ") |
| | | public void autoCancelOrder() { |
| | |
| | | |
| | | otcEntrustOrderDao.updateRemainAmount(otcOrder.getEntrustOrderId(), otcOrder.getCoinAmount()); |
| | | otcOrderDao.updateOrderStatusByOrderNo(OtcOrder.STATUS_CANCEL, null, otcOrder.getOrderNo()); |
| | | |
| | | Long memberId; |
| | | if (otcOrder.getMemberId().equals(otcOrder.getEntrustMemberId())) { |
| | | memberId = otcOrder.getOppositeMemberId(); |
| | | } else { |
| | | memberId = otcOrder.getMemberId(); |
| | | } |
| | | |
| | | OtcSetting setting = otcSettingDao.selectById(1L); |
| | | String times = redisUtils.getString(AppContants.OTC_ORDER_CANCEL_TIMES + memberId); |
| | | if (StrUtil.isNotBlank(times)) { |
| | | int i = Integer.parseInt(times); |
| | | i++; |
| | | if (i >= setting.getCancellNum()) { |
| | | redisUtils.set(AppContants.OTC_ORDER_CANCEL_TIMES + memberId, i, 86400); |
| | | } else { |
| | | redisUtils.set(AppContants.OTC_ORDER_CANCEL_TIMES + memberId, i); |
| | | } |
| | | } else { |
| | | redisUtils.set(AppContants.OTC_ORDER_CANCEL_TIMES + memberId, 1, 86400); |
| | | } |
| | | } |
| | | } |
| | | } |