From b6a7f6e41467f73f26fc7f209652e19ff26c3752 Mon Sep 17 00:00:00 2001
From: Cui Zhi Feng <cuizf@fengyuntec.com>
Date: 星期二, 03 九月 2024 20:18:32 +0800
Subject: [PATCH] Merge branch 'master' into master-v2
---
src/main/java/com/mzl/flower/service/point/PointGoodsService.java | 53 +++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 43 insertions(+), 10 deletions(-)
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 da76c43..4c2ab59 100644
--- a/src/main/java/com/mzl/flower/service/point/PointGoodsService.java
+++ b/src/main/java/com/mzl/flower/service/point/PointGoodsService.java
@@ -24,6 +24,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import java.time.LocalDate;
import java.util.List;
@Service
@@ -70,8 +71,14 @@
return p.getId();
}
- public void deletePointGoods(Long id){
- pointGoodsMapper.deleteById(id);
+ public void deletePointGoods(String idStr){
+ List<String> ids = splitParam(idStr);
+ if (ids != null && ids.size() > 0) {
+ for(String idd : ids) {
+ Long id = Long.parseLong(idd);
+ pointGoodsMapper.deleteById(id);
+ }
+ }
}
public Page<PointGoodsListDTO> selectGoodsList(Page page, PointGoodsQueryDTO dto){
@@ -93,15 +100,21 @@
return dto;
}
- public void updateStatus(Long id, String status){
- PointGoods p = pointGoodsMapper.selectById(id);
- if(p == null){
- throw new ValidationException("商品未找到");
- }
+ public void updateStatus(String idStr, String status){
+ List<String> ids = splitParam(idStr);
+ if(ids != null && ids.size() > 0) {
+ for(String idd : ids) {
+ Long id = Long.parseLong(idd);
+ PointGoods p = pointGoodsMapper.selectById(id);
+ if (p == null) {
+ continue;
+ }
- p.setStatus(status);
- p.update(SecurityUtils.getUserId());
- pointGoodsMapper.updateById(p);
+ p.setStatus(status);
+ p.update(SecurityUtils.getUserId());
+ pointGoodsMapper.updateById(p);
+ }
+ }
}
public synchronized void exchangeGoods(ExchangeGoodsDTO dto) {
@@ -147,6 +160,8 @@
detail.setPoint(record.getTotalPoint());
detail.setChangeType(Constants.POINT_CHANGE_TYPE.reduce.name());
detail.setType(Constants.POINT_TYPE.exchange.name());
+ detail.setRecordDate(LocalDate.now());
+ detail.setRemarks(record.getName());
detail.create(SecurityUtils.getUserId());
customerPointDetailMapper.insert(detail);
@@ -170,8 +185,26 @@
if(!Constants.POINT_GOODS_RECORD_STATUS.A.name().equals(record.getStatus())){
throw new ValidationException("兑换券已使用或过期");
}
+ if(!SecurityUtils.getUserId().equals(record.getUserId())){
+ throw new ValidationException("兑换券不属于当前用户");
+ }
record.setStatus(Constants.POINT_GOODS_RECORD_STATUS.U.name());
record.setOrderId(orderId);
pointGoodsRecordMapper.updateById(record);
}
+ public void revertExchangeGoods(Long recordId) {
+ PointGoodsRecord record = pointGoodsRecordMapper.selectById(recordId);
+ if(record == null){
+ throw new ValidationException("兑换券不存在");
+ }
+ if(!Constants.POINT_GOODS_RECORD_STATUS.U.name().equals(record.getStatus())){
+ throw new ValidationException("兑换券未使用或过期");
+ }
+ if(!SecurityUtils.getUserId().equals(record.getUserId())){
+ throw new ValidationException("兑换券不属于当前用户");
+ }
+ record.setStatus(Constants.POINT_GOODS_RECORD_STATUS.A.name());
+ record.setOrderId(null);
+ pointGoodsRecordMapper.updateById(record);
+ }
}
--
Gitblit v1.9.3