From 6ec40dc71bdce4dd21ee8c6436a43b7fc20c422c Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Wed, 12 May 2021 14:34:00 +0800
Subject: [PATCH] conflect
---
src/main/java/com/xcong/excoin/modules/yunding/service/YunDingService.java | 2 +
src/main/resources/mapper/yunding/YdOrderDao.xml | 17 ++++++++
src/main/java/com/xcong/excoin/modules/yunding/controller/YunDingController.java | 13 ++++++
src/main/java/com/xcong/excoin/quartz/job/YdPowerJob.java | 69 ++++++++++++++++++++++++++++++++++
src/main/java/com/xcong/excoin/modules/yunding/dao/YdOrderDao.java | 3 +
src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java | 10 +++++
6 files changed, 114 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/yunding/controller/YunDingController.java b/src/main/java/com/xcong/excoin/modules/yunding/controller/YunDingController.java
index 3e01097..a3a1d29 100644
--- a/src/main/java/com/xcong/excoin/modules/yunding/controller/YunDingController.java
+++ b/src/main/java/com/xcong/excoin/modules/yunding/controller/YunDingController.java
@@ -90,6 +90,19 @@
}
/**
+ * 订单详情
+ */
+ @ApiOperation(value = "订单详情")
+ @ApiResponses({
+ @ApiResponse(code = 0, message = "success", response = YdOrderVo.class)
+ })
+ @GetMapping(value = "/getOrderInfo")
+ public Result getOrderInfo(@ApiParam(name = "id", value = "订单ID", required = true, example = "1")
+ @RequestParam(value = "id") Long id) {
+ return yunDingService.getOrderInfo(id);
+ }
+
+ /**
*订单头部数据
*/
@ApiOperation(value = "订单头部数据")
diff --git a/src/main/java/com/xcong/excoin/modules/yunding/dao/YdOrderDao.java b/src/main/java/com/xcong/excoin/modules/yunding/dao/YdOrderDao.java
index 556bc66..d3604e0 100644
--- a/src/main/java/com/xcong/excoin/modules/yunding/dao/YdOrderDao.java
+++ b/src/main/java/com/xcong/excoin/modules/yunding/dao/YdOrderDao.java
@@ -17,4 +17,7 @@
List<YdOrderEntity> selectNeedReturnOrders();
List<YdOrderEntity> selectAllValidOrders();
+ void UpdateByIdAndState(@Param("id")Long id, @Param("state")int state);
+
+ YdOrderVo selectOrderByMemberIdAndId(@Param("memberId")Long memberId, @Param("id")Long id);
}
diff --git a/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java b/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java
index 918e357..9123393 100644
--- a/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java
@@ -293,6 +293,16 @@
return Result.ok(orderAllInfoVo);
}
+ @Override
+ public Result getOrderInfo(Long id) {
+
+ log.info("获取订单详情");
+ MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
+ Long memberId = memberEntity.getId();
+ YdOrderVo ydOrderVo = ydOrderDao.selectOrderByMemberIdAndId(memberId,id);
+ return Result.ok(ydOrderVo);
+ }
+
/**
* 去加减币币账户余额,减少产品的剩余数目
* @param memberId
diff --git a/src/main/java/com/xcong/excoin/modules/yunding/service/YunDingService.java b/src/main/java/com/xcong/excoin/modules/yunding/service/YunDingService.java
index 3c7391a..a7eae46 100644
--- a/src/main/java/com/xcong/excoin/modules/yunding/service/YunDingService.java
+++ b/src/main/java/com/xcong/excoin/modules/yunding/service/YunDingService.java
@@ -22,4 +22,6 @@
Result getOrderList(YdOrderListDto ydOrderListDto);
Result findOrderAllInfo();
+
+ Result getOrderInfo(Long id);
}
diff --git a/src/main/java/com/xcong/excoin/quartz/job/YdPowerJob.java b/src/main/java/com/xcong/excoin/quartz/job/YdPowerJob.java
new file mode 100644
index 0000000..8e22b46
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/quartz/job/YdPowerJob.java
@@ -0,0 +1,69 @@
+package com.xcong.excoin.quartz.job;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.xcong.excoin.modules.blackchain.service.DateUtil;
+import com.xcong.excoin.modules.yunding.dao.YdOrderDao;
+import com.xcong.excoin.modules.yunding.entity.YdOrderEntity;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+
+@Slf4j
+@Component
+@ConditionalOnProperty(prefix = "app", name = "loop-job", havingValue = "true")
+public class YdPowerJob {
+
+
+ @Resource
+ private YdOrderDao ydOrderDao;
+
+ /**
+ * 产品生效
+ */
+ @Scheduled(cron = "0 0/1 * * * ?")
+ public void orderWork() {
+ QueryWrapper<YdOrderEntity> objectQueryWrapper = new QueryWrapper<>();
+ objectQueryWrapper.eq("",YdOrderEntity.ORDER_STATE_READY);
+ List<YdOrderEntity> ydOrderEntities = ydOrderDao.selectList(objectQueryWrapper);
+ Date date = new Date();
+ if(CollUtil.isNotEmpty(ydOrderEntities)){
+ for(YdOrderEntity ydOrderEntity : ydOrderEntities){
+ Date workTime = ydOrderEntity.getWorkTime();
+ if(DateUtil.compare_date(date.toString(),workTime.toString()) == 1
+ && ObjectUtil.isNotEmpty(workTime)){
+ Long id = ydOrderEntity.getId();
+ ydOrderDao.UpdateByIdAndState(id,YdOrderEntity.ORDER_STATE_WORK);
+ }
+ }
+ }
+ }
+
+ /**
+ * 产品终止
+ */
+ @Scheduled(cron = "0 0/1 * * * ?")
+ public void orderEnd() {
+ QueryWrapper<YdOrderEntity> objectQueryWrapper = new QueryWrapper<>();
+ objectQueryWrapper.eq("",YdOrderEntity.ORDER_STATE_WORK);
+ List<YdOrderEntity> ydOrderEntities = ydOrderDao.selectList(objectQueryWrapper);
+ Date date = new Date();
+ if(CollUtil.isNotEmpty(ydOrderEntities)){
+ for(YdOrderEntity ydOrderEntity : ydOrderEntities){
+ Date endTime = ydOrderEntity.getEndTime();
+ if(DateUtil.compare_date(date.toString(),endTime.toString()) == 1
+ && ObjectUtil.isNotEmpty(endTime)) {
+ Long id = ydOrderEntity.getId();
+ ydOrderDao.UpdateByIdAndState(id,YdOrderEntity.ORDER_STATE_END);
+ }
+ }
+ }
+ }
+
+}
diff --git a/src/main/resources/mapper/yunding/YdOrderDao.xml b/src/main/resources/mapper/yunding/YdOrderDao.xml
index 031d756..8d37948 100644
--- a/src/main/resources/mapper/yunding/YdOrderDao.xml
+++ b/src/main/resources/mapper/yunding/YdOrderDao.xml
@@ -55,4 +55,21 @@
where a.state=2
</select>
+ <update id="UpdateByIdAndState">
+ UPDATE yd_order s
+ SET s.state = #{state}
+ WHERE
+ id = #{id}
+ </update>
+
+ <select id="selectOrderByMemberIdAndId" resultType="com.xcong.excoin.modules.yunding.vo.YdOrderVo">
+ SELECT
+ *
+ FROM
+ yd_order a
+ left join yd_product b on b.id = a.product_id
+ where a.member_id = #{memberId}
+ and a.id = #{id}
+ </select>
+
</mapper>
\ No newline at end of file
--
Gitblit v1.9.1