diff --git a/src/main/java/com/sqx/modules/banner/service/impl/BannerServiceImpl.java b/src/main/java/com/sqx/modules/banner/service/impl/BannerServiceImpl.java index eeecf44e..04480ee5 100644 --- a/src/main/java/com/sqx/modules/banner/service/impl/BannerServiceImpl.java +++ b/src/main/java/com/sqx/modules/banner/service/impl/BannerServiceImpl.java @@ -13,6 +13,9 @@ import com.sqx.modules.course.dao.CourseDao; import com.sqx.modules.course.dao.CourseDetailsDao; import com.sqx.modules.course.entity.Course; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cache.annotation.CacheConfig; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import java.text.SimpleDateFormat; @@ -23,6 +26,7 @@ import java.util.List; * banner图 */ @Service +@CacheConfig(cacheNames = "banner") public class BannerServiceImpl extends ServiceImpl implements BannerService { @Autowired @@ -34,12 +38,14 @@ public class BannerServiceImpl extends ServiceImpl implements @Override + @Cacheable(key = "#classify") public List selectBannerList(Integer classify) { return bannerDao.selectList(classify); } @Override + @Cacheable(key = "#classify") public List selectBannerLists(Integer classify) { return bannerDao.selectLists(classify); } @@ -51,6 +57,7 @@ public class BannerServiceImpl extends ServiceImpl implements } @Override + @CacheEvict(cacheNames = "banner", allEntries = true) public int saveBody(String image, String url, Integer sort) { Banner banner = new Banner(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); @@ -64,6 +71,7 @@ public class BannerServiceImpl extends ServiceImpl implements } @Override + @CacheEvict(cacheNames = "banner", allEntries = true) public int insertBanner(Banner banner) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date now = new Date(); @@ -89,11 +97,13 @@ public class BannerServiceImpl extends ServiceImpl implements } @Override + @CacheEvict(cacheNames = "banner", allEntries = true) public int deleteBannerById(Long id) { return bannerDao.deleteById(id); } @Override + @CacheEvict(cacheNames = "banner", allEntries = true) public Result updateBannerStateById(Long id) { Banner banner = selectBannerById(id); if (banner != null) { @@ -110,6 +120,7 @@ public class BannerServiceImpl extends ServiceImpl implements } @Override + @CacheEvict(cacheNames = "banner", allEntries = true) public int updateBannerById(Banner banner) { return bannerDao.updateById(banner); } diff --git a/src/main/java/com/sqx/modules/course/controller/app/AppCourseController.java b/src/main/java/com/sqx/modules/course/controller/app/AppCourseController.java index 8d5ad0f6..85059248 100644 --- a/src/main/java/com/sqx/modules/course/controller/app/AppCourseController.java +++ b/src/main/java/com/sqx/modules/course/controller/app/AppCourseController.java @@ -1,6 +1,7 @@ package com.sqx.modules.course.controller.app; import com.alibaba.fastjson.JSONObject; +import com.sqx.common.annotation.Debounce; import com.sqx.common.utils.Result; import com.sqx.modules.app.annotation.Login; import com.sqx.modules.course.service.CourseDetailsService; @@ -42,6 +43,7 @@ public class AppCourseController extends AbstractController { @GetMapping("/selectCourseDetailsById") @ApiOperation("根据id查询短剧详情") + @Debounce(interval = 5000, value = "#id,#token") public Result selectCourseDetailsById(Long id, String token, String courseDetailsId) { return courseDetailsService.selectCourseDetailsById(id, token, courseDetailsId); } diff --git a/src/main/java/com/sqx/modules/job/task/TempOrdersTask.java b/src/main/java/com/sqx/modules/job/task/TempOrdersTask.java index 954b65ee..550c44bc 100644 --- a/src/main/java/com/sqx/modules/job/task/TempOrdersTask.java +++ b/src/main/java/com/sqx/modules/job/task/TempOrdersTask.java @@ -2,6 +2,7 @@ package com.sqx.modules.job.task; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.thread.ThreadUtil; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; @@ -71,42 +72,49 @@ public class TempOrdersTask implements ITask { @Override public void run(String params) { logger.info("订单表数据处理开始"); - List orders = ordersDao.selectList(Wrappers.lambdaQuery().eq(Orders::getStatus, 0)); + List orders = ordersDao.selectList(Wrappers.lambdaQuery() + .eq(Orders::getStatus, 0) + .lt(Orders::getCreateTime, DateUtil.offsetMinute(DateUtil.date(), -5))); if (CollUtil.isEmpty(orders)) { return; } + for (Orders order : orders) { + ThreadUtil.sleep(100); + PayDetails payDetails = payDetailsDao.selectByOrderId(order.getOrdersNo()); if (payDetails == null) { + order.setStatus(3); continue; } if (payDetails.getState() == 1) { continue; } - try { - BaseResp baseResp = WuyouPay.queryOrder(payDetails.getTradeNo(), order.getPayMoney().toString(), "Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1 Edg/131.0.0.0"); - logger.info("baseResp:{} ", JSONUtil.toJsonStr(baseResp)); - if (baseResp.getCode() == null || baseResp.getCode() != 200) { + BaseResp baseResp = WuyouPay.queryOrder(payDetails.getTradeNo(), order.getPayMoney().toString(), "Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1 Edg/131.0.0.0"); + if (baseResp.getCode() == null || baseResp.getCode() != 200) { + continue; + } + if ("SUCCESS".equals(baseResp.getPayStatus())) { + if (payDetails.getState() == 1) { continue; } - if ("SUCCESS".equals(baseResp.getPayStatus())) { - if (payDetails.getState() == 1) { - continue; - } - logger.info("payDetails:{} ", JSONUtil.toJsonStr(payDetails)); - logger.info("order:{} ", JSONUtil.toJsonStr(order)); - updateOrderStatus(payDetails, order); - } else { - order.setStatus(3); - updateOrderStatus(payDetails, order); - } - } catch (Exception e) { - logger.error("查询订单异常:{}", e); + logger.info("payDetails:{} ", JSONUtil.toJsonStr(payDetails)); + logger.info("order:{} ", JSONUtil.toJsonStr(order)); + updateOrderStatus(payDetails, order); + }else { + order.setStatus(3); + payDetails.setState(2); + ordersDao.updateById(order); + payDetailsDao.updateById(payDetails); } } logger.info("订单表数据处理完毕"); } + public static void main(String[] args) { + WuyouPay.queryOrder("1000001323859732", "0.5", "Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1 Edg/131.0.0.0"); + } + private final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); private void updateOrderStatus(PayDetails payDetails, Orders order) {