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