From 646a35bd8782f434a4c9f06c312afc8473286ba7 Mon Sep 17 00:00:00 2001 From: zhengyunfei <zhengyunfei@jianghuxx,com> Date: Thu, 6 Jul 2023 09:09:37 +0800 Subject: [PATCH] 失效团购不能再次购买 --- src/main/java/com/yunniu/farming/result/GlobalExceptionHandler.java | 14 ++++++++++++++ src/main/java/com/yunniu/farming/util/FileUtil.java | 4 ++-- src/main/java/com/yunniu/farming/webadmin/service/impl/GroupOrderServiceImpl.java | 17 +++++++++++------ src/main/java/com/yunniu/farming/webadmin/service/impl/WxServiceImpl.java | 21 +++++++++++++++------ src/main/resources/application.properties | 12 ++++++------ 5 files changed, 48 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/yunniu/farming/result/GlobalExceptionHandler.java b/src/main/java/com/yunniu/farming/result/GlobalExceptionHandler.java index 870310b..b35823c 100644 --- a/src/main/java/com/yunniu/farming/result/GlobalExceptionHandler.java +++ b/src/main/java/com/yunniu/farming/result/GlobalExceptionHandler.java @@ -83,6 +83,20 @@ public class GlobalExceptionHandler { * @param e * @return */ + @ExceptionHandler(value = RuntimeException.class) + @ResponseBody + public ResultBody exceptionHandler(HttpServletRequest req, RuntimeException e) { + logger.error("未知异常!原因是:", e); + return ResultBody.error("103", e.getMessage()); + } + + /** + * 处理其他异常 + * + * @param req + * @param e + * @return + */ @ExceptionHandler(value = Exception.class) @ResponseBody public ResultBody exceptionHandler(HttpServletRequest req, Exception e) { diff --git a/src/main/java/com/yunniu/farming/util/FileUtil.java b/src/main/java/com/yunniu/farming/util/FileUtil.java index 23eab7a..cf0f70d 100644 --- a/src/main/java/com/yunniu/farming/util/FileUtil.java +++ b/src/main/java/com/yunniu/farming/util/FileUtil.java @@ -10,9 +10,9 @@ public class FileUtil { public static final String Base = "D:/service"; - public static final String BasePath = "C://data//upload"; +// public static final String BasePath = "C://data//upload"; -// public static final String BasePath = "/usr/upload"; + public static final String BasePath = "/usr/upload"; //public static final String BasePath = "/upload"; public static final String Path = "/upload"; diff --git a/src/main/java/com/yunniu/farming/webadmin/service/impl/GroupOrderServiceImpl.java b/src/main/java/com/yunniu/farming/webadmin/service/impl/GroupOrderServiceImpl.java index ee69d65..419a0f5 100644 --- a/src/main/java/com/yunniu/farming/webadmin/service/impl/GroupOrderServiceImpl.java +++ b/src/main/java/com/yunniu/farming/webadmin/service/impl/GroupOrderServiceImpl.java @@ -1,11 +1,13 @@ package com.yunniu.farming.webadmin.service.impl; import com.alibaba.fastjson.JSON; -import com.aliyun.oss.ServiceException; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.yunniu.farming.util.StringHelper; -import com.yunniu.farming.webadmin.dao.*; +import com.yunniu.farming.webadmin.dao.GroupBuyDao; +import com.yunniu.farming.webadmin.dao.GroupOrderDao; +import com.yunniu.farming.webadmin.dao.OrderMainDao; +import com.yunniu.farming.webadmin.dao.OrderSubDao; import com.yunniu.farming.webadmin.model.GroupBuy; import com.yunniu.farming.webadmin.model.GroupOrder; import com.yunniu.farming.webadmin.model.OrderMain; @@ -46,10 +48,10 @@ public class GroupOrderServiceImpl implements GroupOrderService { @Override public GroupOrder addGroupOrder(OrderMain item) { if (item.getAreaId() == null){ - throw new ServiceException("缺少小区id参数"); + throw new RuntimeException("缺少小区id参数"); } if (item.getGroupBuyId() == null) { - throw new ServiceException("缺少团购id参数"); + throw new RuntimeException("缺少团购id参数"); } // 查询此团购活动在此小区是否有待成团的订单 GroupOrder groupOrder = orderDao.selectOne(Wrappers.<GroupOrder>lambdaQuery() @@ -60,12 +62,15 @@ public class GroupOrderServiceImpl implements GroupOrderService { // 查询团购活动是否存在 GroupBuy groupBuy = groupBuyDao.selectById(item.getGroupBuyId()); if (ObjectUtils.isEmpty(groupBuy)) { - throw new ServiceException("团购活动不存在"); + throw new RuntimeException("团购活动不存在"); + } + if (groupBuy.getEndTime().before(new Date())) { + throw new RuntimeException("该团购已失效"); } if (ObjectUtils.isEmpty(groupOrder)) { List<Long> list = JSON.parseArray(groupBuy.getAreaIds(), Long.class); if (!list.contains(item.getAreaId())) { - throw new ServiceException("小区不存在"); + throw new RuntimeException("小区不存在"); } GroupOrder order = new GroupOrder(); order.setOrderCode(StringHelper.getOrderno()); diff --git a/src/main/java/com/yunniu/farming/webadmin/service/impl/WxServiceImpl.java b/src/main/java/com/yunniu/farming/webadmin/service/impl/WxServiceImpl.java index 18c78ad..a09a04c 100644 --- a/src/main/java/com/yunniu/farming/webadmin/service/impl/WxServiceImpl.java +++ b/src/main/java/com/yunniu/farming/webadmin/service/impl/WxServiceImpl.java @@ -4,12 +4,10 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.yunniu.farming.util.*; import com.yunniu.farming.webadmin.dao.CustomerDao; +import com.yunniu.farming.webadmin.dao.GroupBuyDao; import com.yunniu.farming.webadmin.dao.IntegralrecDao; import com.yunniu.farming.webadmin.dao.OrderMainDao; -import com.yunniu.farming.webadmin.model.Customer; -import com.yunniu.farming.webadmin.model.Integralrec; -import com.yunniu.farming.webadmin.model.OrderMain; -import com.yunniu.farming.webadmin.model.Result; +import com.yunniu.farming.webadmin.model.*; import com.yunniu.farming.webadmin.service.WxService; import com.yunniu.farming.wx.WxConfigUtil; import com.yunniu.farming.wx.WxUtil; @@ -48,6 +46,9 @@ public class WxServiceImpl implements WxService { @Autowired private GroupOrderServiceImpl groupOrderService; + @Autowired + private GroupBuyDao groupBuyDao; + private String[] imageUrl = {"https://yuezhi-1314984551.cos.ap-shanghai.myqcloud.com/register/41e98a7cc2834450b41927219197d713.jpeg" , "https://yuezhi-1314984551.cos.ap-shanghai.myqcloud.com/register/65daa7ab2a9c46c99a580874c73465e3.jpeg" , "https://yuezhi-1314984551.cos.ap-shanghai.myqcloud.com/register/056bb47d0b274ab7b430ddd522b18ee3.jpeg" @@ -466,15 +467,23 @@ public class WxServiceImpl implements WxService { return new Result(102); } + if (order.getGroupOrderId() != null) { + GroupOrder groupOrder = groupOrderService.findById(order.getGroupOrderId()); + GroupBuy groupBuy = groupBuyDao.selectById(groupOrder.getGroupBuyId()); + if (groupBuy.getEndTime().before(new Date())) { + throw new RuntimeException("该团购已失效"); + } + } + //判断用户积分是否足够 - if(order.getDactscore() != null){ + if (order.getDactscore() != null) { // 查询该用户的积分 Integralrec integralrec = new Integralrec(); integralrec.setCustomerid(order.getCustomerid()); Double inte = this.integralrecDao.sumIntegral(integralrec); - if(inte == null || inte < 0) return Result.error("积分不足"); + if (inte == null || inte < 0) return Result.error("积分不足"); // 用户收入积分减去支付积分要大于订单积分价格 // 用户余额要大于支付额 diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 5b6fa30..4f4cb55 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,12 +1,12 @@ #spring.datasource.url=jdbc:mysql://152.136.113.101:3306/farming?autoReconnect=true&useUnicode=true&allowMultiQueries=true&characterEncoding=utf-8&serverTimezone=GMT%2B8 #spring.datasource.username=root #spring.datasource.password=Root_123456 -#spring.datasource.url=jdbc:mysql://localhost:3306/farming?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai -#spring.datasource.username=farming -#spring.datasource.password=PKWB6psxa7FBApZB -spring.datasource.url=jdbc:mysql://db1.prd.jianghuxx.com:3317/farming?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai -spring.datasource.username=root -spring.datasource.password=4f9fa23639242790 +spring.datasource.url=jdbc:mysql://localhost:3306/farming?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai +spring.datasource.username=farming +spring.datasource.password=PKWB6psxa7FBApZB +#spring.datasource.url=jdbc:mysql://db1.prd.jianghuxx.com:3317/farming?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai +#spring.datasource.username=root +#spring.datasource.password=4f9fa23639242790 #7LwimZ27FqEnzIPg ##47.101.199.10 spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver -- libgit2 0.26.0