From 3bd4199bf5289112b23f6acc3ea2e34075b0bed8 Mon Sep 17 00:00:00 2001 From: zengtao01 Date: Fri, 26 Jul 2024 16:25:49 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=80=E6=AC=BE=E6=8F=90=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/appup/vo/AppUpRespVO.java | 15 ++++--- .../member/service/card/CardServiceImpl.java | 39 +++++++++++++++++-- 2 files changed, 42 insertions(+), 12 deletions(-) diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/appup/vo/AppUpRespVO.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/appup/vo/AppUpRespVO.java index cee104b7..43353cc0 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/appup/vo/AppUpRespVO.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/controller/admin/appup/vo/AppUpRespVO.java @@ -1,12 +1,11 @@ package cn.iocoder.yudao.module.member.controller.admin.appup.vo; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; import io.swagger.v3.oas.annotations.media.Schema; -import lombok.*; -import java.util.*; -import java.util.*; -import org.springframework.format.annotation.DateTimeFormat; +import lombok.Data; + import java.time.LocalDateTime; -import com.alibaba.excel.annotation.*; @Schema(description = "管理后台 - app更新 Response VO") @Data @@ -41,8 +40,8 @@ public class AppUpRespVO { @ExcelProperty("文件路径") private String fileUrl; - @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("创建时间") - private LocalDateTime createTime; + @Schema(description = "更改时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("更改时间") + private LocalDateTime updateTime; } \ No newline at end of file diff --git a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/card/CardServiceImpl.java b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/card/CardServiceImpl.java index fdf77d2a..d1089b01 100644 --- a/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/card/CardServiceImpl.java +++ b/yudao-module-member/yudao-module-member-biz/src/main/java/cn/iocoder/yudao/module/member/service/card/CardServiceImpl.java @@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.member.service.card; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; -import cn.iocoder.yudao.framework.common.exception.ErrorCode; import cn.iocoder.yudao.framework.common.exception.ServiceException; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; @@ -23,6 +22,7 @@ import cn.iocoder.yudao.module.member.util.MemberConstants; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; @@ -140,7 +140,18 @@ public class CardServiceImpl implements CardService { cardDO.setGiftAmount(giftOldMoney.add(giftMoney).setScale(2, BigDecimal.ROUND_HALF_UP)); wxAmount = wxAmount.subtract(giftMoney); } - cardDO.setWxAmount(wxOldMoney.add(wxAmount).setScale(2, BigDecimal.ROUND_HALF_UP)); + if(oldMoney.compareTo(BigDecimal.ZERO)<0){ + updateOrderStatus(cardDO.getUserId()); + if(wxAmount.add(oldMoney).compareTo(BigDecimal.ZERO)>=0){ + cardDO.setWxAmount(wxAmount.add(oldMoney)); + }else{ + BigDecimal left = wxAmount.add(oldMoney); + cardDO.setWxAmount(BigDecimal.ZERO); + cardDO.setGiftAmount(giftMoney.add(left)); + } + }else{ + cardDO.setWxAmount(wxOldMoney.add(wxAmount).setScale(2, BigDecimal.ROUND_HALF_UP)); + } } int i =cardMapper.insert(cardDO); return i > 0; @@ -221,6 +232,7 @@ public class CardServiceImpl implements CardService { @Override + @Transactional(rollbackFor = Exception.class) public Boolean rechargeByAdmin(RechargeVO vo) { List memberList = new ArrayList<>(); if (vo.getGroupId() != null) { @@ -249,13 +261,18 @@ public class CardServiceImpl implements CardService { BigDecimal oldMoney = cardDO.getMoney(); add.setMoney(oldMoney.add(vo.getMoney()).setScale(2, BigDecimal.ROUND_HALF_UP)); - if(cardDO.getMoney().compareTo(BigDecimal.ZERO) >0){ + if(add.getMoney().compareTo(BigDecimal.ZERO) >0){ BigDecimal cashOldMoney = cardDO.getCashAmount(); - add.setCashAmount(cashOldMoney.add(vo.getMoney()).setScale(2, BigDecimal.ROUND_HALF_UP)); + add.setCashAmount(cashOldMoney.add(add.getMoney()).setScale(2, BigDecimal.ROUND_HALF_UP)); add.setWxAmount(cardDO.getWxAmount()); add.setGiftAmount(cardDO.getGiftAmount()); + + if(oldMoney.compareTo(BigDecimal.ZERO)<0){ + updateOrderStatus(cardDO.getUserId()); + } } addList.add(add); + } //添加新的用户金额 @@ -380,4 +397,18 @@ public class CardServiceImpl implements CardService { int insert = cardMapper.insert(cardDO); return insert>0; } + + void updateOrderStatus(Long userId){ + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + + wrapper.eq(DishOrderDO::getUserId,userId); + wrapper.eq(DishOrderDO::getOrderStatus,DishOrderDO.TOCOMPLETE); + + List dishOrderDOS = dishOrderMapper.selectList(wrapper); + if(CollectionUtil.isNotEmpty(dishOrderDOS)){ + dishOrderDOS.forEach(vo -> vo.setOrderStatus(DishOrderDO.COMPLETE)); + dishOrderMapper.updateBatch(dishOrderDOS); + } + + } } \ No newline at end of file