src/main/java/com/xcong/excoin/modules/yunding/controller/YunDingController.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/xcong/excoin/modules/yunding/dao/YdOrderDao.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/xcong/excoin/modules/yunding/service/Impl/YunDingServiceImpl.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/xcong/excoin/modules/yunding/service/YunDingService.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/xcong/excoin/quartz/job/YdPowerJob.java | ●●●●● patch | view | raw | blame | history | |
src/main/resources/mapper/yunding/YdOrderDao.xml | ●●●●● patch | view | raw | blame | history |
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 = "订单头部数据") 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); } 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 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); } src/main/java/com/xcong/excoin/quartz/job/YdPowerJob.java
New file @@ -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); } } } } } 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>