From e425e5d101e1d48e40674a2a801efb8dd060e8a5 Mon Sep 17 00:00:00 2001
From: gongzuming <gongzuming>
Date: 星期五, 20 九月 2024 13:44:35 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master-v2'
---
src/main/java/com/mzl/flower/service/flower/FlowerCategoryService.java | 4 ++
src/main/java/com/mzl/flower/mapper/flower/FlowerCategoryMapper.java | 2 +
src/main/java/com/mzl/flower/service/payment/OrderService.java | 4 +-
src/main/java/com/mzl/flower/web/customer/CustomerSignInController.java | 4 +-
src/main/java/com/mzl/flower/dto/response/flower/FlowerCategoryTreeDTO.java | 2 +
src/main/java/com/mzl/flower/service/point/PointGoodsService.java | 4 -
src/main/java/com/mzl/flower/web/flower/FlowerCategoryController.java | 6 +++
src/main/java/com/mzl/flower/service/impl/coupon/CouponTemplateServiceImpl2.java | 10 +++-
src/main/resources/mapper/flower/FlowerCategoryMapper.xml | 29 ++++++++++++++
9 files changed, 55 insertions(+), 10 deletions(-)
diff --git a/src/main/java/com/mzl/flower/dto/response/flower/FlowerCategoryTreeDTO.java b/src/main/java/com/mzl/flower/dto/response/flower/FlowerCategoryTreeDTO.java
index 93ababc..d9f9c08 100644
--- a/src/main/java/com/mzl/flower/dto/response/flower/FlowerCategoryTreeDTO.java
+++ b/src/main/java/com/mzl/flower/dto/response/flower/FlowerCategoryTreeDTO.java
@@ -67,4 +67,6 @@
@ApiModelProperty(value = "级别限制")
private String levelLimit;
+
+ private Integer childrenCount;
}
diff --git a/src/main/java/com/mzl/flower/mapper/flower/FlowerCategoryMapper.java b/src/main/java/com/mzl/flower/mapper/flower/FlowerCategoryMapper.java
index f8f58c9..ec0137a 100644
--- a/src/main/java/com/mzl/flower/mapper/flower/FlowerCategoryMapper.java
+++ b/src/main/java/com/mzl/flower/mapper/flower/FlowerCategoryMapper.java
@@ -14,6 +14,8 @@
@Repository
public interface FlowerCategoryMapper extends BaseMapper<FlowerCategory> {
+ List<FlowerCategoryTreeDTO> selectCategoryList(@Param("condition") FlowerCategoryQueryDTO dto);
+
List<FlowerCategoryTreeDTO> selectTreeList(@Param("condition") FlowerCategoryQueryDTO dto);
void clearParamByParamId(@Param("paramId") Long paramId);
diff --git a/src/main/java/com/mzl/flower/service/flower/FlowerCategoryService.java b/src/main/java/com/mzl/flower/service/flower/FlowerCategoryService.java
index 41f590e..b90f6c8 100644
--- a/src/main/java/com/mzl/flower/service/flower/FlowerCategoryService.java
+++ b/src/main/java/com/mzl/flower/service/flower/FlowerCategoryService.java
@@ -122,6 +122,10 @@
return dto;
}
+ public List<FlowerCategoryTreeDTO> selectCategoryList(FlowerCategoryQueryDTO dto){
+ return categoryMapper.selectCategoryList(dto);
+ }
+
public List<FlowerCategoryTreeDTO> selectCategoryTree(FlowerCategoryQueryDTO dto) {
List<FlowerCategoryTreeDTO> treeList = categoryMapper.selectTreeList(dto);
treeList = (List<FlowerCategoryTreeDTO>) TreeBuilderUtil.buildListToTree(treeList);
diff --git a/src/main/java/com/mzl/flower/service/impl/coupon/CouponTemplateServiceImpl2.java b/src/main/java/com/mzl/flower/service/impl/coupon/CouponTemplateServiceImpl2.java
index b33c44a..247093e 100644
--- a/src/main/java/com/mzl/flower/service/impl/coupon/CouponTemplateServiceImpl2.java
+++ b/src/main/java/com/mzl/flower/service/impl/coupon/CouponTemplateServiceImpl2.java
@@ -421,7 +421,9 @@
if(couponTemplateDO==null){
throw new ValidationException("优惠券不存在");
}
-
+ if(couponTemplateDO.getCouponAmount()<=0 ){
+ throw new ValidationException("优惠券已兑换完");
+ }
CustomerPoint cp = customerPointMapper.selectOne(new LambdaQueryWrapper<CustomerPoint>()
.eq(CustomerPoint::getUserId, SecurityUtils.getUserId()));
if(cp == null || (cp.getTotalPoint()-cp.getUsedPoint()-cp.getExpiredPoint()- cp.getExpiredPoint()) < couponTemplateDO.getPoint() * dto.getNum()){
@@ -439,6 +441,10 @@
recordDTO.setCustomerId(customer.getId());
couponRecordService.createCouponRecord(recordDTO);
+// //更新优惠券数量
+// couponTemplateDO.setCouponAmount(couponTemplateDO.getCouponAmount()-dto.getNum());
+// couponTemplateService.updateById(couponTemplateDO);
+
//更新积分汇总
cp.setUsedPoint(cp.getUsedPoint()+couponTemplateDO.getPoint());
customerPointMapper.updateById(cp);
@@ -454,8 +460,6 @@
detail.setRemarks(couponTemplateDO.getCouponName());
detail.create(SecurityUtils.getUserId());
customerPointDetailMapper.insert(detail);
- }catch (Exception e){
- throw new ValidationException("兑换失败");
}finally {
lockService.releaseObjectLock(key,"");
}
diff --git a/src/main/java/com/mzl/flower/service/payment/OrderService.java b/src/main/java/com/mzl/flower/service/payment/OrderService.java
index 0b26afb..681a6fd 100644
--- a/src/main/java/com/mzl/flower/service/payment/OrderService.java
+++ b/src/main/java/com/mzl/flower/service/payment/OrderService.java
@@ -541,7 +541,7 @@
List<FlowerCartListDTO> flowers = p.getFlowers();
Map<Long, List<ParamItemDTO>> paramMap = new HashMap<>();
final BigDecimal flowerAmount = order.getFlowerAmount();//订单商品总价
- final BigDecimal memberCouponAmount = order.getMemberCouponAmount();//使用优惠券面值
+ final BigDecimal memberCouponAmount = getAmount(order.getMemberCouponAmount());//使用优惠券面值
BigDecimal usedCouponAmount = new BigDecimal(0);
for (int i = 0; i < flowers.size(); i++) {
FlowerCartListDTO f = flowers.get(i);
@@ -637,7 +637,7 @@
private BigDecimal calculateCoupon(BigDecimal couponAmount, BigDecimal itemTotalAmount
, BigDecimal totalAmount, Integer num, BigDecimal price
, boolean isLastOne, BigDecimal usedCouponAmount){
- if(couponAmount == null){
+ if(couponAmount == null || couponAmount.doubleValue() == 0){
return new BigDecimal(0);
}
diff --git a/src/main/java/com/mzl/flower/service/point/PointGoodsService.java b/src/main/java/com/mzl/flower/service/point/PointGoodsService.java
index 69c144b..e56ab9f 100644
--- a/src/main/java/com/mzl/flower/service/point/PointGoodsService.java
+++ b/src/main/java/com/mzl/flower/service/point/PointGoodsService.java
@@ -143,7 +143,7 @@
if(!Constants.POINT_GOODS_STATUS.A.name().equals(p.getStatus())){
throw new ValidationException("商品未上架");
}
- if(p.getStock()< dto.getNum()){
+ if(p.getStock() <=0 || p.getStock()< dto.getNum()){
throw new ValidationException("商品库存不足");
}
CustomerPoint cp = customerPointMapper.selectOne(new LambdaQueryWrapper<CustomerPoint>()
@@ -190,8 +190,6 @@
//更新库存
p.setStock(p.getStock()- dto.getNum());
pointGoodsMapper.updateById(p);
- }catch (Exception e){
- throw new ValidationException("兑换失败");
}finally {
lockService.releaseObjectLock(key,"");
}
diff --git a/src/main/java/com/mzl/flower/web/customer/CustomerSignInController.java b/src/main/java/com/mzl/flower/web/customer/CustomerSignInController.java
index 5254160..96d4cda 100644
--- a/src/main/java/com/mzl/flower/web/customer/CustomerSignInController.java
+++ b/src/main/java/com/mzl/flower/web/customer/CustomerSignInController.java
@@ -39,8 +39,8 @@
@GetMapping("/list")
@ApiOperation(value = "签到历史")
public ResponseEntity<ReturnDataDTO<List<CustomerPointDetailDTO>>> signList(String startDateStr, String endDateStr) {
- LocalDate startDate = LocalDate.parse(startDateStr);
- LocalDate endDate = LocalDate.parse(endDateStr);
+ LocalDate startDate = customerPointService.parseLocalDate(startDateStr);
+ LocalDate endDate = customerPointService.parseLocalDate(endDateStr);
return returnData(R.SUCCESS.getCode(), customerPointService.signList(startDate, endDate));
}
diff --git a/src/main/java/com/mzl/flower/web/flower/FlowerCategoryController.java b/src/main/java/com/mzl/flower/web/flower/FlowerCategoryController.java
index 772fdbb..e40416e 100644
--- a/src/main/java/com/mzl/flower/web/flower/FlowerCategoryController.java
+++ b/src/main/java/com/mzl/flower/web/flower/FlowerCategoryController.java
@@ -66,6 +66,12 @@
return returnData(R.SUCCESS.getCode(), categoryService.selectCategoryTree(dto));
}
+ @GetMapping("/list")
+ @ApiOperation(value = "获取商品分类列表")
+ public ResponseEntity<ReturnDataDTO<List<FlowerCategoryTreeDTO>>> selectCategoryList(FlowerCategoryQueryDTO dto){
+ return returnData(R.SUCCESS.getCode(), categoryService.selectCategoryList(dto));
+ }
+
@GetMapping("/tree/delete")
@ApiOperation(value = "删除商品分类")
@ApiImplicitParams({
diff --git a/src/main/resources/mapper/flower/FlowerCategoryMapper.xml b/src/main/resources/mapper/flower/FlowerCategoryMapper.xml
index 0051a46..7cd07ee 100644
--- a/src/main/resources/mapper/flower/FlowerCategoryMapper.xml
+++ b/src/main/resources/mapper/flower/FlowerCategoryMapper.xml
@@ -2,6 +2,35 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.mzl.flower.mapper.flower.FlowerCategoryMapper">
+ <select id="selectCategoryList" resultType="com.mzl.flower.dto.response.flower.FlowerCategoryTreeDTO">
+ SELECT q.*
+ , (select count(1) from t_flower_category f where f.parent_id = q.id) childrenCount
+ FROM t_flower_category q
+ WHERE q.deleted = 0
+ <if test="condition.name != null and condition.name != ''">
+ AND (q.name LIKE concat('%', #{condition.name},'%')
+ or exists (
+ select 1 from t_flower_category sq where sq.parent_id = q.id and sq.name LIKE concat('%', #{condition.name},'%')
+ )
+ )
+ </if>
+ <choose>
+ <when test="condition.parentId != null">
+ AND q.parent_id = #{condition.parentId}
+ </when>
+ <otherwise>
+ AND q.parent_id is null
+ </otherwise>
+ </choose>
+ <if test="condition.shown != null and condition.shown">
+ AND (q.shown = 1 or q.shown is null)
+ </if>
+ <if test="condition.shown != null and !condition.shown">
+ AND q.shown = 0
+ </if>
+ ORDER BY q.sort_by, q.create_time Desc
+ </select>
+
<select id="selectTreeList" resultType="com.mzl.flower.dto.response.flower.FlowerCategoryTreeDTO">
SELECT q.*
, (select min(f.price) from t_flower f where f.category = q.id and f.status = 'UP' and f.deleted = 0) priceLow
--
Gitblit v1.9.3