From e3155bdcb11ca4e22d2bc9e54f96a1aa00c7ad4a Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Tue, 26 Mar 2024 12:28:45 +0800
Subject: [PATCH] 抽奖
---
src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java | 112 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 110 insertions(+), 2 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java
index d3e7563..0a1ff03 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java
@@ -4,6 +4,7 @@
import cc.mrbird.febs.common.entity.QueryRequest;
import cc.mrbird.febs.common.enumerates.FlowTypeEnum;
import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum;
+import cc.mrbird.febs.common.utils.RedisUtils;
import cc.mrbird.febs.mall.dto.*;
import cc.mrbird.febs.mall.entity.*;
import cc.mrbird.febs.mall.mapper.*;
@@ -43,6 +44,8 @@
private final MallOrderRefundAddressMapper mallOrderRefundAddressMapper;
+ private final MallGoodsCommentMapper mallGoodsCommentMapper;
+
private final MallMoneyFlowMapper mallMoneyFlowMapper;
private final IApiMallMemberWalletService iApiMallMemberWalletService;
@@ -63,6 +66,18 @@
public IPage<AdminMallOrderInfoVo> getOrderListInPage(MallOrderInfoDto mallOrderInfo, QueryRequest request) {
Page<AdminMallOrderInfoVo> page = new Page<>(request.getPageNum(), request.getPageSize());
IPage<AdminMallOrderInfoVo> adminMallOrderInfoVos = this.baseMapper.selectOrderListInPage(page, mallOrderInfo);
+// List<AdminMallOrderInfoVo> records = adminMallOrderInfoVos.getRecords();
+// if(CollUtil.isNotEmpty(records)){
+// for(AdminMallOrderInfoVo adminMallOrderInfoVo : records){
+// Long id = adminMallOrderInfoVo.getId();
+// List<MallOrderItem> mallOrderItemList = mallOrderItemMapper.selectbyOrderId(id);
+// StringBuffer stringBuffer = new StringBuffer();
+// for(MallOrderItem mallOrderItem : mallOrderItemList){
+// stringBuffer.append(mallOrderItem.getGoodsName()+"*"+mallOrderItem.getCnt()+";");
+// }
+// adminMallOrderInfoVo.setGoodsName(stringBuffer.toString());
+// }
+// }
return adminMallOrderInfoVos;
}
@@ -155,11 +170,24 @@
mallOrderInfoMapper.updateById(mallOrderInfo);
if(!"微信支付".equals(mallOrderInfo.getPayMethod()) && !"支付宝支付".equals(mallOrderInfo.getPayMethod())){
- BigDecimal amount = mallOrderInfo.getAmount().add(mallOrderInfo.getCarriage());
+ BigDecimal amount = mallOrderRefund.getAmount();
//用户钱包增加对应的余额
iApiMallMemberWalletService.addBalance(amount, mallOrderInfo.getMemberId());
mallMoneyFlowService.addMoneyFlow(mallOrderRefund.getMemberId(), amount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
+
+ //积分池减少对应的数值
+ String redisKey = "scorePool";
+ String scorePoolRedis = redisUtils.getString(redisKey);
+ if(StrUtil.isBlank(scorePoolRedis)){
+ redisUtils.set(redisKey,0,0L);
+ }
+ BigDecimal scorePoolOld = new BigDecimal(redisUtils.getString(redisKey));
+ if(scorePoolOld.compareTo(amount) < 0){
+ redisUtils.set(redisKey,0,0L);
+ }else{
+ redisUtils.set(redisKey,scorePoolOld.subtract(amount).intValue(),0L);
+ }
}
MallOrderRefundOperation mallOrderRefundOperation = new MallOrderRefundOperation();
@@ -197,6 +225,7 @@
return new FebsResponse().success();
}
+ private final RedisUtils redisUtils;
@Override
public FebsResponse refundConfirm(Long id) {
MallOrderRefund mallOrderRefund = mallOrderRefundMapper.selectById(id);
@@ -223,9 +252,21 @@
mallOrderInfo.setStatus(6);
mallOrderInfoMapper.updateById(mallOrderInfo);
- BigDecimal refundAmount = mallOrderInfo.getAmount();
+ BigDecimal refundAmount = mallOrderRefund.getAmount();
//用户钱包增加对应的余额
iApiMallMemberWalletService.addBalance(refundAmount, mallOrderInfo.getMemberId());
+ //积分池减少对应的数值
+ String redisKey = "scorePool";
+ String scorePoolRedis = redisUtils.getString(redisKey);
+ if(StrUtil.isBlank(scorePoolRedis)){
+ redisUtils.set(redisKey,0,0L);
+ }
+ BigDecimal scorePoolOld = new BigDecimal(redisUtils.getString(redisKey));
+ if(scorePoolOld.compareTo(refundAmount) < 0){
+ redisUtils.set(redisKey,0,0L);
+ }else{
+ redisUtils.set(redisKey,scorePoolOld.subtract(refundAmount).intValue(),0L);
+ }
//新增一条资金流水
mallMoneyFlowService.addMoneyFlow(mallOrderRefund.getMemberId(), refundAmount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue());
@@ -363,6 +404,73 @@
}
@Override
+ public IPage<AdminMallGoodsCommentVo> getCommentListInPage(AdminMallGoodsCommentDto adminMallGoodsCommentDto, QueryRequest request) {
+ Page<AdminMallGoodsCommentVo> page = new Page<>(request.getPageNum(), request.getPageSize());
+ IPage<AdminMallGoodsCommentVo> adminMallGoodsCommentVos = mallGoodsCommentMapper.getCommentListInPage(page, adminMallGoodsCommentDto);
+ return adminMallGoodsCommentVos;
+ }
+
+ @Override
+ public FebsResponse showStateSwitchOn(Long id) {
+ MallGoodsComment mallGoodsComment = mallGoodsCommentMapper.selectById(id);
+ if (ObjectUtil.isEmpty(mallGoodsComment)) {
+ return new FebsResponse().fail().message("评论不存在,请刷新当前页面");
+ }
+ mallGoodsComment.setShowState(MallGoodsComment.SHOW_STATE_ENABLE);
+ mallGoodsCommentMapper.updateById(mallGoodsComment);
+ return new FebsResponse().success();
+ }
+
+ @Override
+ public FebsResponse showStateSwitchOff(Long id) {
+ MallGoodsComment mallGoodsComment = mallGoodsCommentMapper.selectById(id);
+ if (ObjectUtil.isEmpty(mallGoodsComment)) {
+ return new FebsResponse().fail().message("评论不存在,请刷新当前页面");
+ }
+ mallGoodsComment.setShowState(MallGoodsComment.SHOW_STATE_DISABLED);
+ mallGoodsCommentMapper.updateById(mallGoodsComment);
+ return new FebsResponse().success();
+ }
+
+ @Override
+ public FebsResponse delOrder(Long id) {
+ MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(id);
+ if(ObjectUtil.isEmpty(mallOrderInfo)){
+ return new FebsResponse().fail().message("订单不存在,请刷新重试");
+ }
+ Integer status = mallOrderInfo.getStatus();
+ if(status != 7){
+ return new FebsResponse().fail().message("订单不是已取消状态");
+ }
+ mallOrderInfoMapper.deleteById(id);
+ return new FebsResponse().success();
+ }
+
+ @Override
+ public FebsResponse takeGoods(Long id) {
+ MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(id);
+ if(ObjectUtil.isEmpty(mallOrderInfo)){
+ return new FebsResponse().fail().message("订单不存在,刷新后重试");
+ }
+ Integer status = mallOrderInfo.getStatus();
+ if(2 != status){
+ return new FebsResponse().fail().message("订单不是待发货状态");
+ }
+
+ mallOrderInfo.setStatus(3);
+ mallOrderInfoMapper.updateById(mallOrderInfo);
+ return new FebsResponse().success();
+ }
+
+ @Override
+ public IPage<AdminMallMoneyFlowVo> orderMoneyFlow(QueryRequest request, MallOrderInfo mallOrderInfo) {
+ MallOrderInfo mallOrder = this.baseMapper.selectById(mallOrderInfo.getId());
+ Page<AdminMallMoneyFlowVo> page = new Page<>(request.getPageNum(), request.getPageSize());
+ IPage<AdminMallMoneyFlowVo> adminMallMoneyFlowVos = mallMoneyFlowMapper.selectOrderMoneyFlowInPage(page, mallOrder);
+ return adminMallMoneyFlowVos;
+ }
+
+ @Override
public void deliverGoodsByOrderNo(DeliverGoodsDto deliverGoodsDto) {
MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectByOrderNo(deliverGoodsDto.getOrderNo());
if (mallOrderInfo == null) {
--
Gitblit v1.9.1